На бумаге нарисовали клетчатое поле NxM клеток. В каждой клетке нарисовали стрелочку в одном из четырех направлений «вправо», «вверх», «влево» или «вниз».
← | → | → | ↓ | ↑ |
→ | ↑ | ↓ | ← | → |
↓ | ↑ | → | → | ↓ |
→ | ↑ | ← | ← | ← |
← | → | ↓ | ↓ | ↓ |
↑ | ↑ | ← | ↓ | ↑ |
Дальше в некоторую клетку этого поля ставят фишку. Затем эту фишку сдвигают в соседнюю клетку в направлении стрелочки, нарисованной в клетке, где стоит фишка. Затем ее снова сдвигают по стрелке, нарисованной в той клетке, где она оказалась. Так продолжается до тех пор, пока фишка не окажется за пределами поля. Однако возможно, что фишка будет бесконечно ходить по полю и никогда не выйдет за его пределы.
Напишите программу, которая по заданному полю определит количество клеток, начав с которых фишка никогда не покинет пределы поля.
Во входном файле заданы сначала размеры поля – число строк N и число столбцов M (1≤N≤1000, 1≤M≤1000). Далее идет N строк по M чисел в каждой, задающих направления стрелочек в клетках. Число 1 обозначает стрелочку вправо, 2 – вверх, 3 – влево, 4 – вниз. Числа в строке разделяются пробелами.
В выходной файл выведите одно число – количество клеток, начав с которых фишка никогда не покинет пределы поля.
Комментарии к примерам тестов.
Пример №1.Соответствует приведенному рисунку. Клетки, начавс которых, фишка никогда не покинет пределов поля на рисунке выделены серым цветом.
6 5 3 1 1 4 2 1 2 4 3 1 4 2 1 1 4 1 2 3 3 3 3 1 4 4 4 2 2 3 4 2
23
2 2 1 2 3 4
0
Некоторые банки выпускают банковские карты, которые могут использоваться для оплаты проезда в метро. При проходе через турникеты по этой карте каждый проход фиксируется, подсчитывается количество проходов за календарный месяц и раз в месяц с карточки списываются деньги в соответствии с тем, сколько было сделано проходов по специальным тарифам (приведены тарифы по состоянию на 15.10.2009):
Кол-во поездок | Стоимость (руб.) | Кол-во поездок | Стоимость (руб.) | Кол-во поездок | Стоимость (руб.) | Кол-во поездок | Стоимость (руб.) |
---|---|---|---|---|---|---|---|
1 | 22 | 19 | 362 | 37 | 586.13 | 55 | 804.38 |
2 | 44 | 20 | 380 | 38 | 598.25 | 56 | 816.5 |
3 | 64.33 | 21 | 392.13 | 39 | 610.38 | 57 | 828.63 |
4 | 84.67 | 22 | 404.25 | 40 | 622.5 | 58 | 840.75 |
5 | 105 | 23 | 416.38 | 41 | 634.63 | 59 | 852.88 |
6 | 124 | 24 | 428.5 | 42 | 646.75 | 60 | 865 |
7 | 143 | 25 | 440.63 | 43 | 658.88 | 61 | 863.5 |
8 | 162 | 26 | 452.75 | 44 | 671 | 62 | 862 |
9 | 181 | 27 | 464.88 | 45 | 683.13 | 63 | 860.5 |
10 | 200 | 28 | 477 | 46 | 695.25 | 64 | 859 |
11 | 218 | 29 | 489.13 | 47 | 707.38 | 65 | 857.5 |
12 | 236 | 30 | 501.25 | 48 | 719.5 | 66 | 856 |
13 | 254 | 31 | 513.38 | 49 | 731.63 | 67 | 854.5 |
14 | 272 | 32 | 525.5 | 50 | 743.75 | 68 | 853 |
15 | 290 | 33 | 537.63 | 51 | 755.88 | 69 | 851.5 |
16 | 308 | 34 | 549.75 | 52 | 768 | 70 | 850 |
17 | 326 | 35 | 561.88 | 53 | 780.13 | ||
18 | 344 | 36 | 574 | 54 | 792.25 |
Родители завели двум братьям Пете и Васе по такой карточке. Петя и Вася иногда ездят вместе, а иногда - порознь. Естественно, когда они едут не вместе, то каждый из них пользуется своей карточкой. Когда же они едут вместе, они могут как воспользоваться каждый своей карточкой, так и оба пройти по одной из карточек (совершив два прохода по этой карточке).
Кроме того, они заметили, что в некоторых случаях бывает выгодно совершать лишние проходы по карточке (например, если по карточке за месяц совершено 69 проходов, то надо сделать 70-й - списанная сумма в этом случае окажется меньше).
Известно, что в наступающем месяце Вася собирается сделать A самостоятельных поездок, Петя - B самостоятельных поездок, и еще С поездок они сделают вместе (то есть всего они сделают A+B+2C проходов через турникеты). Напишите программу, которая по заданным числам A, B и C определит минимальную сумму, которую они могут потратить (с учетом банковских комиссий, при необходимости совершив лишние проходы через турникеты).
Вводятся целые числа \(A\), \(B\), \(C\) (каждое из них из диапазона от 0 до 1000).
Выведите, сколько рублей будет списано суммарно с Васиной и Петиной карточек. Результат должен быть выведен с двумя знаками после десятичной точки.
1 1 0
64.00
59 0 0
860.00
10 10 10
721.25
0 0 30
860.00
Скоро в Берляндии пройдет очередная Олимпиада. В рамках подготовки к этому важному мероприятию Берляндолимпстрой уже возвел N объектов и теперь хочет разобраться с тем, во сколько Берляндии это обошлось.
Стройка длилась \(K + 1\) день со дня номер \(0\) по день номер \(K\), причем стоимость j-го объекта в нулевой день была равна \(a_j\) бурлям. Однако каждый следующий день стоимость каждого объекта увеличивалась согласно следующему правилу: стоимость j-го объекта в i-й день становилась равна сумме стоимостей всех объектов с номерами, меньшими или равными j, в предыдущий день. Иначе говоря, \(S_{i,j}\) = \(\sum_{m=1}^{j} S_{i-1,m}\), где \(S_{i,j}\) — стоимость j-го объекта в i-й день. В итоге на j-й объект было потрачено \(S_{K,j}\) , то есть его стоимость в последний \(K\)-й день. \t{Назовем эту величину итоговой стоимостью j-го объекта.}
Такие увеличения стоимостей проектов для Берляндии не редкость, однако оказалось, что и этих денег не хватило! Выяснилось, что в некоторый день i > 0 стоимость некоторого объекта j дополнительно повысилась на пока не известную следователям сумму X (то есть \(S_{i,j}\) = \(\sum_{m=1}^{j} S_{i-1,m}\) + X), что повлияло на стоимости объектов в последующие дни. Следователи выяснили, что из-за этого сумма итоговых стоимостей всех объектов увеличилась на \(R\) бурлей.
Помогите следователям выяснить минимально возможное значение X.
В первой строке входного файла содержатся три целых числа \(N\), \(K\), \(R\): количество олимпийских объектов (\(1 \le N \le 10^5\) ), количество дней увеличения стоимости объектов (\(1 \le K \le 10^5\) ) и количество бурлей, на которое незаконно возросла итоговая сумма (\(1 \le R \le 10^{18}\)). В следующей строке входного файла содержатся N целых чисел \(a_i\) — стоимости объектов в нулевой день (\(1 \le a_i \le 10^9\)).
Единственная строка выходного файла должна содержать единственное целое число — минимально возможное значение \(X\)
Тесты к этой задаче состоят из четырех групп.
0. Тест 1. Тест из условия, оцениваемый в ноль баллов.
1. Тесты 2—25. В тестах этой группы \(N \le 10, K \le 10, a_i \le 10\), искомое значение \(X\) не превосходит \(10\). Эта группа оценивается в 30 баллов, баллы начисляются только при прохождении всех тестов группы.
2. Тесты 26—38. В тестах этой группы \(N \le 1 000, K \le 1 000\). Эта группа оценивается в 30 баллов, баллы начисляются только при прохождении всех тестов группы. Решение будет тестироваться на тестах этой группы только в случае прохождения всех тестов первой группы.
3. В тестах этой группы дополнительные ограничения отсутствуют. Эта группа оценивается в 40 баллов. Тесты в этой группе оцениваются \t{независимо}
3 3 12 1 3 3
2