Дан набор натуральных чисел: a1, …, aN. По этому набору строится таблица чисел размером N x N по следующему правилу: в клетку i-го столбца j-й строки записывается большее из чисел ai и aj при i ≠ j (если ai = aj, то записывается это число); на пересечении i-го столбца и i-й строки записывается число 0.
Дана таблица чисел. Требуется определить, могла ли она быть построена по данным правилам из какого-либо набора чисел a1, …, aN.
В первой строке входных данных задается натуральное число N – размер таблицы (1 ≤ N ≤ 500). В следующих N строках содержится по N чисел – числа соответствующей строки из таблицы (все числа целые неотрицательные и не превосходят 1 000).
В одну строку выведите через пробел числа a1, …, aN. Если решений несколько, выведите любое из них. Если набора, удовлетворяющего данной таблице, не существует, выведите одно число "-1".
3 0 4 6 4 0 6 6 6 0
4 4 6
2 0 1 2 0
-1
Календарь на июнь 2007 года, висящий у меня на стене, выглядит следующим образом:
Пн Вт Ср Чт Пт Сб Вс
                    1   2   3
4   5   6   7   8   9  10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
В этом календаре числа располагаются в 5 строк. Вам требуется написать программу, которая определит, сколько строк чисел будет в подобном календаре на любой заданный месяц.
Вводятся два числа \(D\) и \(F\).
\(D\) – количество дней в месяце, натуральное число от 28 до 31.
\(F\) – номер дня недели, на который приходится первое число данного месяца (1 – понедельник, 2 – вторник, … , 7 – воскресенье).
Выведите количество строк чисел в календаре на указанный месяц.
30 5
5
В торговом центре этажи нумеруются так: …, –3, –2, –1, 1, 2, 3, … (нулевого этажа нет!). Вася спустился на лифте с этажа с номером \(A\) на \(B\) этажей, а затем поднялся на лифте на \(C\) этажей. Требуется определить, на каком этаже он оказался.
Вводятся три числа \(A\), \(B\) и \(C\).
\(А\) – целое число от –100 до 100, не равное нулю.
\(B\) и \(С\) – натуральные числа, не превосходящие 100.
Выведите одно число – номер этажа, на котором окажется Вася.
5 1 1
5
-5 1 1
-5
Витя работает недалеко от одной из станций кольцевой линии Московского метро, а живет рядом с другой станцией той же линии. Требуется выяснить, мимо какого наименьшего количества промежуточных станций необходимо проехать Вите по кольцу, чтобы добраться с работы домой.
Станции пронумерованы подряд натуральными числами 1, 2, 3, …, \(N\) (1-я станция – соседняя с \(N\)-й), \(N\) не превосходит 100.
Вводятся три числа: сначала \(N\) – общее количество станций кольцевой линии, а затем \(i\) и \(j\) – номера станции, на которой Витя садится, и станции, на которой он должен выйти. Числа \(i\) и \(j\) не совпадают. Все числа разделены пробелом.
Требуется выдать минимальное количество промежуточных станций (не считая станции посадки и высадки), которые необходимо проехать Вите.
1) На кольцевой линии 100 станций; проехать с 5-й на 6-ю станцию Витя может напрямую, без промежуточных станций
2) На кольцевой линии 10 станций; проехать с 1-й на 9-ю станцию Витя может через одну промежуточную, ее номер 10
100 5 6
0
10 1 9
1
В одну транспортную компанию поступил заказ на перевозку двух ящиков из одного города в другой. Для перевозки ящики решено было упаковать в специальный контейнер.
Ящики и контейнер имеют вид прямоугольных параллелепипедов. Длина, ширина и высота первого ящика – \(l_1\), \(w_1\) и \(h_1\), соответствующие размеры второго ящика – \(l_2\), \(w_2\) и \(h_2\). Контейнер имеет длину, ширину и высоту \(l_c\), \(w_c\) и \(h_c\).
Поскольку ящики содержат хрупкое оборудование, после упаковки в контейнер каждый из них должен остаться в строго вертикальном положении. Таким образом, ящики можно разместить рядом или один на другом. Для надежного закрепления в контейнере стороны ящиков должны быть параллельны его сторонам. Иначе говоря, если исходно ящики были расположены так, что все их стороны параллельны соответствующим сторонам контейнера, то каждый из них разрешается перемещать и поворачивать относительно вертикальной оси на угол, кратный 90 градусам.
Разумеется, после упаковки оба ящика должны полностью находиться внутри контейнера и не должны пересекаться.
Выясните, можно ли поместить ящики в контейнер с соблюдением указанных условий.
Первая строка входных данных содержит \(l_1\), \(w_1\) и \(h_1\), вторая – \(l_2\), \(w_2\) и \(h_2\), третья – \(l_c\), \(w_c\) и \(h_c\). Все размеры – целые положительные числа, не превышающие 1000. Числа в строках разделены пробелами.
Выведите YES, если ящики можно упаковать в контейнер, и NO в противном случае.
В первых двух примерах ящики можно разместить рядом, при этом во втором один из них следует повернуть на 90 градусов. В третьем примере ящики можно разместить один на другом. В четвертом примере первый ящик слишком высокий и не влезает в контейнер. В пятом примере ящики нельзя разместить ни рядом, ни один на другом.
2 2 3 3 3 3 3 5 3
YES
2 3 3 3 2 3 4 4 4
YES
4 1 2 3 3 2 4 3 4
YES
1 1 4 1 1 3 10 10 3
NO
3 2 2 3 1 2 5 2 3
NO