|
Познающий
Регистрация: 03.06.2008
Сообщений: 40
Провел на форуме: 139376
Репутация:
5
|
|
Помогите решать задачи на Pascal
Помогите плз решить задачи, как можно скорее!
Задача №1
PHP код:
Трамвайные билеты в городе S имеют номера, состоящие из N цифр, причем N всегда нечетное. Пассажиры определяют, является ли билет "счастливым", следующим образом.
Сначала считаются суммы цифр слева и справа от средней цифры. Если они совпадают, то билет считается счастливым.
Если же суммы не совпали, то в дело идет средняя цифра. Это число (от 0 до 9) пробуют разделить на два слагаемых таким образом, чтобы при добавлении одного из них к сумме цифр слева от середины номера и другого к сумме цифр справа от середины номера эти суммы все же совпали. В случае, если такое разложение на слагаемые существует, билет также считается счастливым.
Ваша задача - определить по заданным номерам билетов, являются ли они счастливыми или нет.
Формат входного файла input.txt
Первая строка - целые числа N и M, где
3 <= N <= 99 - количество цифр в номере билета (гарантируется, что N - нечетное число)
1 <= M <= 100000 - количество билетов, для которых надо проверить, являются ли они счастливыми
Каждая из следующих M строк содержит по одному номеру билета
Формат выходного файла output.txt
Каждая из M строк выходного файла содержит знак +, если билет является счастливым, и знак -, если билет не является счастливым
Пример входного файла
7 4
3570816
3579816
3576819
3575819
Пример выходного файла
+
+
-
+
Задача №2
PHP код:
Гости города S решили навестить своего друга. Они знают, что его дом находится возле трамвайной остановки.
У гостей города S есть карта, на которой указаны все трамвайные пути и остановки, а также трамвайные маршруты. Один из гостей города S составил список из номеров трамваев и остановок, на которых нужно выходить, чтобы пересесть на следующий трамвай.
Ваша задача - по карте и списку определить время, за которое гости города S смогут добраться до дома своего друга. Если сделать это невозможно (список мог быть составлен с ошибками), выведите в качестве ответа -1.
Формат входного файла input.txt
Первая строка - целые числа N, M, A, B, S через пробел, где
N - число остановок (будем полагать их занумерованными числами от 1 до N) (2 <= N <= 500)
M - количество трамвайных маршрутов (1 <= M <= 300)
A - номер остановки возле гостиницы (точка отправления гостей города) (1 <= A <= N). Гости города S приходят на нее в момент времени, равный 0.
B - номер остановки возле дома друга гостей города (1 <= B <= N, B <> A)
S - количество строк в списке гостя города (1 <= S <= 300)
Далее следуют M групп по 3 строки, описывающие трамвайные маршруты.
Первая строка описания содержит три целых числа Qj, Cj и Dj (j = 1, 2, ... M) через пробел, где
Qj - количество остановок в маршруте #j (2 <= Qj <= N)
Cj (Cj >= 0) - время появления первого трамвая данного маршрута на первой остановке маршрута. Время отсчитывается от момента появления на остановке #А гостей города S.
Dj (Dj >= 0) - интервал времени (в минутах), через который трамваи этого маршрута отправляются с начальной остановки. Если Dj = 0, это означает, что трамвай выходит на маршрут единожды.
Вторая строка описания содержит последовательность остановок маршрута - Qj целых чисел P1j, P2j, ..., PQjj через пробел (Pk j <> Pk+1 j).
Третья строка содержит Qj-1 целое число: U12j, U23j, U34j, ..., UQj-1Qjj - интервалы времени (в минутах), за которые трамвай доезжает от одной остановки до другой (от первой до второй, от второй до третьей и т.д.)
Каждая из следующих S строк содержит по два целых числа Ti и Ki (i = 1, 2, ... S) через пробел, где
Ti (1 <= Ti <= M) - номер трамвая, на который следует сесть гостям города на "текущей остановке"
Ki (1 <= Ki <= N) - номер остановки, на которой им следует выйти
Для первого трамвая в списке текущей считается остановка #A, для каждого последующего - та остановка, на которой гости города вышли из предыдущего трамвая.
Пересадка с трамвая на трамвай не может происходить мгновенно. Если гости города вышли из трамвая на некоторой остановке в момент времени t, то сесть в следующий трамвай они могут только в момент времени t+1 (т.е. если трамваи оказались на остановке одновременно, пересесть из одного в другой не удастся).
Гарантируется, что гости города потратят не более 10^6 минут, чтобы добраться до дома своего друга, если это возможно.
Формат выходного файла output.txt
Первая строка содержит одно целое число - время в минутах, за которое гости города S доберутся от остановки A до остановки B. Если это невозможно сделать, выведите -1.
Пример входного файла
6 2 1 6 2
4 1 15
1 2 3 4
4 5 3
3 2 10
5 3 6
5 6
1 3
2 6
Пример выходного файла:
23
Задача №3
PHP код:
M гостей города S решили посетить научную конференцию. На конференции всем участникам были выданы совершенно одинаковые непрозрачные папки, в которых, кроме прочего, были большие блокноты. Когда M гостей города S пришли в кафе пообедать, трое из них сложили свои папки на подоконник. Пока они обедали, кто-то из коллег уложил все три папки в аккуратную стопку.
Хозяева папок - назовем их условно A, B, C - решили попробовать определить, какая из папок чья, не открывая их. Оказалось, что А предпочел вести записи в собственном маленьком блокноте и отдал большой блокнот С. У B же содержимое папки не менялось. Следовательно, самая легкая папка должна принадлежать A, самая тяжелая - C, а средняя по весу - B.
Папки были помечены как 1, 2 и 3.
Один из троих "взвесил" попарно папки в руках и записал результаты "взвешивания": сначала номер папки, которая показалась ему более легкой, затем номер папки, которая показалась ему более тяжелой.
Ваша задача - определить, какая из папок кому принадлежит, или, если это невозможно по приведенным данным, вывести в качестве ответа 0.
Формат входного файла input.txt
Входной файл содержит три строки вида
L H
- два целых числа через пробел, 1 <= L, H <= 3, L <> H
Формат выходного файла output.txt
Первая строка - символы A, B, C через пробел, в порядке, соответствующем номерам принадлежащих им папок (на первом месте указать владельца папки 1, на втором - владельца папки 2, на третьем - владельца папки 3).
Если по данным входного файла нельзя установить владельцев папок, выведите в первую строку единственное число 0.
Пример входного файла 1
1 2
2 3
1 3
Пример выходного файла 1
A B C
Пример входного файла 2
1 3
3 2
2 1
Пример выходного файла 2
0
Заранее спасибо!
|