Суперквадратом порядка N называется таблица размером N*N , каждая строка и каждый столбец ко-торой содержат все числа от 1 до N. Дан суперквадрат порядка N. Требуется найти все суперквадраты, содержащиеся в данном, порядок которых отличен от 1 и от N.
Формат входных данных
Первая строка содержит число N (1 ≤ N ≤ 250). Далее следует N строк, содержащих по N чисел.
Формат выходных данных
В первую строку вывести число K – количество найденных суперквадратов. Далее следует K строк, описывающих эти суперквадраты в произвольном порядке. Каждая строка содержит 3 числа, разде-ленные пробелами: координаты левого верхнего угла суперквадрата в порядке “строка, столбец” и по-рядок данного суперквадрата.
Примеры
Входные данные | Выходные данные |
3 1 2 3 2 3 1 3 1 2 | 0 |
8 5 6 7 8 1 2 3 4 6 7 8 5 2 1 4 3 7 8 5 6 3 4 2 1 8 5 6 7 4 3 1 2 1 4 2 3 5 6 7 8 2 1 3 4 6 7 8 5 3 2 4 1 7 8 5 6 4 3 1 2 8 5 6 7 | 4 1 5 2 1 5 4 3 7 2 5 1 4 |
Дано N чисел. Для каждых K подряд идущих чисел найти минимальное среди них.
Формат входных данных
В первой строке даны числа N и K (1 ≤ N ≤ 150000, 1 ≤ K ≤ 10000, K ≤ N), разделенные пробелом. Во второй строке записано N целых чисел через пробел. Числа находятся в диапазоне от -32768 до 32767.
Формат выходных данных
Для каждых К подряд идущих чисел вывести минимальное из них.
Пример
Входные данные | Выходные данные |
11 3 8 764 1 3 85 2 4 5 77 1 5 | 1 1 1 2 2 2 4 1 1 |
Дано \(N\) натуральных чисел. Требуется для каждого числа найти количество вариантов разбиения его на сумму двух других чисел из данного набора.
В первой строке дано число \(N\) ( 1 ≤ \(N\) ≤ 10000). Далее заданы \(N\) натуральных чисел, не превосходящих \(10^9\). Для каждого числа количество разбиений меньше 231.
Вывести \(N\) чисел – количество разбиений, в порядке, соответствующем исходному.
5 3 3 2 2 1
2 2 0 0 0
Суперкалькулятор выполняет только одну арифметическую операцию – умножение натуральных чисел. Верхняя граница диапазона представления натуральных чисел в калькуляторе неизвестна. Обозначим эту границу \(P\). Если результат умножения превосходит или равен \(P\) (\(a\)*\(b\) ≤ \(P\) , \(a\), \(b\) - множители), то возможны две ситуации:
1) Ответ равен (\(a\)*\(b\)) mod \(P\) .
2) Ответ – случайное число из диапазона допустимых значений (произошел сбой в работе калькулятора).
Даны значения множителей (a, b) и результат (c). Требуется написать программу анализа работы калькулятора, результатом которой является одно число, формируемое по следующему принципу:
1) 0, если c = a*b ;
2) 1, если произошел сбой;
3) минимальное значение \(P\).
Строка содержит числа \(a\), \(b\) и \(c\) разделенные пробелами, \(a\) и \(b\) – множители, \(c\) – результат.
Вывести одно число.
1 1 1
0
2 2 2
1
2 8 6
10
11 11 21
25
На плоскости задано N (1 ≤ N ≤ 30) супермногоугольников (без пересечений и самопересечений). Каждый супермногоугольник задаётся координатами своих Ki (3 ≤ Ki ≤ 30, 1 ≤ i ≤ N) вершин в порядке обхода против часовой стрелки. Все координаты — целые числа из диапазона -32000..32000. Требуется соединить супермногоугольники М отрезками так, чтобы:
Oтрезок соединяет только пару супермногоугольников.
Суммарная длина отрезков была минимальна.
Между любыми двумя супермногоугольниками должен существовать путь (последовательность некоторых отрезков и частей границ супермногоугольников).
Формат входных данных
В первой строке число N. В следующих N строках. Число Ki и Ki пар чисел – координаты вершин.
Формат выходных данных
В первой строке число М и сумма длин найденных отрезков с точностью 10-3. В следующих М строках числа L1 X1 Y1 L2 X2 Y2 – номера супермногоугольников и координаты концов отрезков с точностью 10-3.
Примеры
Входные данные | Выходные данные |
2 3 1 0 2 0 1 1 4 6 5 7 5 7 6 6 6 | 1 6.364 1 1.500 0.500 2 6.000 5.000 |
3 3 0 0 1 0 0 1 4 5 5 6 5 6 6 5 6 3 0 5 1 6 0 6 | 2 8.000 3 1.000 6.000 2 5.000 6.000 1 0.000 1.000 3 0.000 5.000 |