Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Игрушечный лабиринт представляет собой прозрачную плоскую прямоугольную коробку, внутри которой есть препятствия и перемещается шарик. Лабиринт можно наклонять влево, вправо, к себе или от себя, после каждого наклона шарик перемещается в заданном направлении до ближайшего препятствия или до стенки лабиринта, после чего останавливается. Целью игры является загнать шарик в одно из специальных отверстий – выходов. Шарик проваливается в отверстие, если оно встречается на его пути (шарик не обязан останавливаться в отверстии).
Первоначально шарик находится в левом верхнем углу лабиринта. Гарантируется, что решение существует и левый верхний угол не занят препятствием или отверстием.
В первой строке входного файла записаны числа N и M – размеры лабиринта (целые положительные числа, не превышающие 100). Затем идет N строк по M чисел в каждой – описание лабиринта. Число 0 в описании означает свободное место, число 1 – препятствие, число 2 – отверстие.
Выведите единственное число – минимальное количество наклонов, которые необходимо сделать, чтобы шарик покинул лабиринт через одно из отверстий.
4 5 0 0 0 0 1 0 1 1 0 2 0 2 1 0 0 0 0 1 0 0
3
Идёт \(k\)-я секунда суток. Определите, сколько целых часов \(h\) и целых минут m прошло с начала суток. Например, если
\(k = 13257 = 3\cdot 3600+40\cdot 60+57\),
то \(h=3\) и \(m=40\).
На вход программе подается целое число \(k\) (\(0\le k\le 86399\)).
Выведите на экран фразу:
It is ... hours ... minutes.
Вместо многоточий программа должна выводить значения \(h\) и \(m\), отделяя их от слов ровно одним пробелом.
13257
It is 3 hours 40 minutes.
В книге на одной странице помещается \(k\) строк. Таким образом, на 1-й странице печатаются строки с 1-й по \(k\)-ю, на второй — с (\(k+1\))-й по (\(2k\))-ю и т. д. Напишите программу, по номеру строки в тексте определяющую номер страницы, на которой будет напечатана эта строка, и порядковый номер этой строки на странице.
На вход программе подаются число \(k\) — количество строк на странице и число \(n\) — номер строки в тексте (\(1\le k\le 200\), \(1\le n\le 20\,000\)).
Выведите два числа — номер страницы, на которой будет напечатана эта строка, и номер строки на этой странице
Для считывания данных на языке Python 3 можно использовать следующую конструкцию:
k, n = map(int, input().split())
50 1
1 1
20 25
2 5
15 43
3 13
Напишите программу, которая будет разлагать натуральное число \(n > 1\) на простые сомножители.
На вход программе подается натуральное \(n \le 2×10^9\).
Выведите его разложение на простые сомножители, располагая их в порядке неубывания так, как показано в примерах.
5
5=5
12
12=2*2*3
Для введенного натурального числа \(k\) от 1 до 120 напечатайте фразу:
Мне \(k\) лет
Учтите, что при некоторых значениях \(k\) слово лет надо заменить на слово год или года. В программе обязательно нужно использовать оператор case. В случае автоматической проверки задачи фразу надо выводить в кодировке Windows-1251 (для Borland Pascal программу можно доработать в Блокноте). Соблюдайте регистр при выводе символов и разделяйте слова ровно одним пробелом.