Задачи командных соревнований для школьников 1999
1. Путаница
Ограничения: время – 200ms/500ms, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Свинки замяукали: мяу, мяу!
Кошечки захрюкали: хрю, хрю, хрю!
К.Чуковский
Во входном файле содержится две строки длиной до 100 символов
с произвольным текстом. Для упрощения все знаки препинания
в тексте опущены, слова разделяются между собой точно одним
пробелом. Словом будем называть произвольную последовательность
длиной от 1 до 20 символов (любых, кроме управляющих).
Программа должна поменять в этих двух строках слова с одинаковым
числом букв, соответствующими друг другу по порядку среди
слов с тем же числом букв. Если в другой строке нет слов с тем
же числом букв или нет соответствующего по порядку слова, то
слово остается на месте. Например, строки
| A BB C DD AA BBB CC EE | трансформируются в | A AA C CC BB BBB DD EE | |
Слово BB меняется c AA, DD с CC. A, C, BBB не изменяют местоположения,
так как в другой строке нет слов с таким числом
букв. EE также остается на месте, так как в первой строке нет
трех слов из 2 букв.
Замечание: если программу преобразования применить дважды,
то исходный текст должен восстановиться.
Пример ввода
Готовь сани летом а телегу зимой
Работа не волк и в лес не убежит
Пример вывода
Работа волк летом и убежит зимой
Готовь не сани а в лес не телегу
2. Числовой пасьянс
Ограничения: время – 100ms/500ms, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (1)
На столе лежит стопка из `N` карточек, пронумерованных числами от 1 до `N`.
Карточки раскладываются на стол в одну линию
следующим образом: первая (верхняя) кладется на стол, вторая – слева
от первой, третья – справа от первой, четвертая – слева
от второй, пятая – справа от третьей и т.д., пока все карточки
не будут выложены на стол. Каким должно быть исходное располо-
жение карточек в стопке, чтобы разложенные на столе карточки
образовали последовательный числовой ряд `1\ 2\ 3\ …\ N`?
Во входном файле содержится одна строка с числом `N`
(`1\ ≤\ N\ ≤\ 100`).
Выходной файл должен содержать `N` строк с числами
от 1 до `N`, показывающими расположение карточек в стопке (первое
число соответствует верхней карточке стопки).
3. Назад из Клондайка
Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (3)
Числовой лабиринт представляет собой квадрат размером `N`x`N` клеток, заполненный целыми числами в диапазоне от 1 до 9. Число в клетке означает, на сколько клеток нужно пройти по прямой за день из этой клетки в любом из восьми направлений по горизонтали, вертикали или диагонали. За пределы квадрата выходить нельзя. Из Клондайка в левом верхнем углу квадрата нужно попасть на опушку леса – на любую клетку нижнего или правого края квадрата.
Ввод
Во входном файле в первой строке находится целое число `N\ (2≤N≤30)`, далее следует `N` строк по `N` целых чисел в строке через один пробел.
Вывод
В выходной файл вывести минимальное число дней для прохождения лабиринта. Если выйти из лабиринта невозможно, то вывести число 0.
Пример ввода
4
1 4 5 1
8 1 3 3
3 9 6 4
1 7 2 1
по диагонали вниз-вправо, затем вниз-влево, затем вправо
4. Задачник по арифметике
Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите программу для проверки задачника по арифметике.
Во входном файле содержится одна или более строк (длиной от
1 до 100 символов), каждая из которых содержит один арифметический пример. Правильный пример составлен из целых чисел,
четырех арифметических действий (+,-,*,/), круглых скобок и,
возможно, пробелов. Знак "-" используется для обозначения как
вычитания, так и получения противоположного значения.
Ошибками в примерах являются: |
несоответствие скобок | 3)+(2 |
пустые скобки | 3+() |
неотрицательное число в скобках | (2)+3 |
отсутствие операнда в арифметическом действии или самого действия | *3+2 или (2+4)3 |
два или более знака подряд (должно быть 2+(-3)) | 2+-3 |
пробелы в середине числа (в любом другом месте разрешено произвольное количество пробелов) | 2 45+3 |
число, кроме 0, начинающееся с 0 | 45+032 или 000+2 |
пример, состоящий из одного числа (в примере должно быть как минимум одно вычисление 2*2 или –(-1)) | 2 или –2 |
недопустимые символы | [x+2]:0.02=4 |
Ошибкой не является: |
дополнительные скобки | ((((2+4)))*5) |
В выходном файле для каждого примера с ошибками вывести его
номер. Каждый номер печатается на отдельной строке. Если неправильных примеров в файле нет, то в выходной файл вывести
число 0.
Пример ввода
-(2+2) * 30
7*(6+3
2+-2
2+(-2)
4