Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1 2
  1  Хабибуллозода Наджибулло Сайфуллоевич, 09 ноября 2025 г. 11:04:59
     Да задача вообще то странная и мутная Чтобы понять подвох первого 1 теста нужно 10 раз прочитать условие и обсуждение потом было ясно что плюсы в тестах это на самом деле пробелы (и нужно взять не cin >> s, а getline(cin , s) конечно в c++) принципе задача самая легкая но эти пробелы :))) Удачи всем!
  2  Кузнецов Даниил Андреевич, 31 мая 2024 г. 12:06:56
     На Python можно сдать и без смены кодировки: k, n = map(int, input().split()) a = [input().strip(' ') for _ in range(n)] if any(len(s) > k for s in a): print('Impossible.') else: for s in a: print(f'{s:^{k}}')
     Видимо предыдущие версии Питона выкидывали исключение при встрече некорректного символа utf-8. А судя по Вашему коду сейчас как-то обрабатывают, и нужно только откидывать пробелы с помощью strip(' ') вместо strip().
  3  Меньшиков Фёдор Владимирович, 25 ноября 2023 г. 14:49:06
     Также в Питоне можно установить кодировку входного и выходного потока с помощью import sys (перевод строки) import io (перевод строки) sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='latin1') (перевод строки) sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='latin1') и убирать пробелы с концов строк с помощью .strip(' ')
  4  Меньшиков Борис Фёдорович, 25 ноября 2023 г. 14:21:17
     В питоне удалось сдать с помощью: with open("input.txt", "r", encoding='latin1') as inp, open("output.txt", "w", encoding='latin1') as out: и .strip(' \r\n')
  5  Кемел Алихан Адиль, 15 октября 2020 г. 16:21:59
     "В приведенных примерах для большей наглядности пробелы заменены на плюсы!"
  6  Кадомцев Кирилл Максимович, 05 декабря 2019 г. 19:05:50
     Если в строке изначально сбоку есть пробелы, их количество можно уменьшать?
     Можно.
  7  Богдан, 07 июня 2018 г. 13:35:53
     Тем, кто пишет на java и у кого WA35: Поменяйте кодировку сканнера и врайтера на "cp866". А именно, используйте вот эти объекты: Scanner s = new Scanner(new InputStreamReader(System.in, "cp866")); PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out, "cp866"));
  8  Тошпулатов, 28 февраля 2017 г. 22:00:24
     хуу ели сдал )
тесты просто монстр
  9  Тошпулатов, 28 февраля 2017 г. 21:18:57
     у кого проблемы с 1 тестом читайте условия внимательнее
вводиться вместо плюсов пробелы
выводить вместо плюсов пробелы
  10  Дестр Де, 17 февраля 2017 г. 17:12:01
     Корректность 35 теста под вопросом. Запустил под PascalABC - выдает ошибку на 35 тесте, тоже самое на FreePascal - проходит.
     ABC вероятно использует Unicode, другие Паскали - однобайтовые кодировки.
  11  Хворых Павел, 23 января 2017 г. 18:21:16
     В 35-м тесте используются символы вне ASCII диапазона, то есть символы с кодами 128 и выше. Это может вызвать неожиданные последствия, для каждого языка свои. Например, в Python по-умолчанию используется кодировка системы, то есть Windows1251, в которой не определен символ 0x98. Встречая этот символ в файле, Python выбрасывает исключение, что приводит к RuntimeError на 35 тесте. Для решения задачи можно открыть файл в кодировке, в которой определены все 256 символов (например, koi8_r), либо просто работать с ним бинарно.
  12  Четвертый Хокаге, 18 января 2017 г. 18:11:28
     Ай, пробелы убираются. Сами поставите.
  13  Четвертый Хокаге, 18 января 2017 г. 18:10:35
     Если не можете проверить 1 тест, потому что он содержит кириллицу, то вот:
20 3
Privet!
Napiwi mne.
Poka =)
  14  Карпицкая И А, 08 мая 2016 г. 12:33:52
     SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251);
для с++
  15  Мушет Дмитрий Валентин, 02 января 2016 г. 20:01:49
     Написал алгоритм за 5 минут, а с кирилицей мучался целый день, на С++, и так и не прошло. Написал на Java и прошло с первой попытки. Не понравилось мне такая задачка ((

Админ не подскажите почему на С++ последняя попытка даже первый тест не прошол?
  16  Захаренков Алексей Сергеевич, 19 октября 2015 г. 16:45:56
     Друзья,
кто захочет решить эту задачу на Питоне, поделюсь своими шишками. Есть соблазн использовать метод center класса str. Например, 'abc'.center(8, '+') вернёт как раз строку '++abc+++', и преобразование строки становится элементарным:
s = s.strip().center(K)
Однако!!! В случае если количество дополняющих символов нечётно, он делит их непоровну то в пользу левой, то в пользу правой части, по неведомым мне законам! Например, 'ok'.center(5, '+') возвращает у меня '++ok+'.
Так что не пользуйтесь этим методом в данной задаче.
  17  Денис Розимовский, 24 июля 2014 г. 15:43:57
     В примерах ПРОБЕЛЫ заменены на ПЛЮСИКИ
При этом, делая программу, нужно искать именно ПРОБЕЛЫ и в выходном писать именно ПРОБЕЛЫ
  18  Довыденко Денис Васильевич, 02 марта 2014 г. 19:39:54
     Если у вас не проходит задача, попробуйте удалять начальные (и конечные) пробелы в строках, до того как сравниваете строку с K.
  19  Алтыбай Назарбек Болатович, 21 сентября 2012 г. 19:14:56
     Помните, в тестах не только кириллица.
  20  Иванов Михаил Александрович, 04 апреля 2012 г. 21:42:22
     Я фигею. Поставил директиву R-. Всё прошло))
 1 2

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru