+ |
||||
+ |
(4,3) |
+ |
||
+ |
Дано клетчатое поле N x M, все клетки поля изначально белые. Автомат умеет:
Дана последовательность команд для автомата. Требуется выполнить эти команды в указанной последовательности, и для каждой команды запроса ближайших белых соседей указать результат ее выполнения.
Сначала вводятся размеры поля N и M (1 ≤ N ≤ 20, 1 ≤ M ≤ 50000), затем количество команд K (1 ≤ K ≤ 105), а затем сами команды. Команды записаны по одной в строке в следующем формате:
Colori j — окраска клетки (i,j) в черный цвет;
Neighbors i j — нахождение белых соседей для БЕЛОЙ клетки (i,j).
1 ≤ i ≤ N, 1 ≤ j ≤ M.
На каждый запрос Neighbors требуется вывести сначала количество ближайших белых соседей (или 0, если ни с одной из сторон белых клеток не осталось), а затем их координаты (соседей можно перечислять в произвольном порядке). Если запросов Neighbors нет, ничего выводить не надо. Пример ниже некорректен, первое число "3" должно отсутствовать.
Оценка задачи
1 балл получат решения, верно работающие при N ≤ 20, M ≤ 500, K ≤ 1000.
5 5 6 Color 4 2 Neighbors 4 3 Color 2 3 Color 3 3 Neighbors 4 3 Neighbors 5 1
3 4 4 1 4 4 3 3 5 3 4 4 1 4 4 1 3 5 3 2 5 2 4 1
Дано число n
, n \(\leq\) 100
. Создайте массив n×n и заполните его по следующему правилу:
- числа на диагонали, идущей из правого верхнего в левый нижний угол, равны 1;
- числа, стоящие выше этой диагонали, равны 0;
- числа, стоящие ниже этой диагонали, равны 2.
Программа получает на вход число n
.
Необходимо вывести полученный массив. Числа разделяйте одним пробелом.
4
0 0 0 1 0 0 1 2 0 1 2 2 1 2 2 2
Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний.
Программа получает на вход число n \(\leq\) 100
, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет
n
строк по n
чисел, являющихся элементами массива.
Программа должна выводить слово yes
для симметричного массива и слово no
для несимметричного.
3 0 1 2 1 5 3 2 3 4
yes
3 0 0 0 0 0 0 1 0 0
no
В метании молота состязается n
спортcменов. Каждый из них сделал m
бросков. Победителем считается тот спортсмен, у которого сумма результатов по всем броскам максимальна.
Если перенумеровать спортсменов числами от 0
до n-1
, а попытки каждого из них – от 0
до m-1
, то на вход программа получает массив A[n][m]
, состоящий из неотрицательных целых чисел. Программа должна определить максимальную сумму чисел в одной строке и вывести на экран эту сумму и номер строки, для которой достигается эта сумма.
Программа получает на вход два числа n
и m
, являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n
строк по m
чисел, являющихся элементами массива.
Программа должна вывести 2 числа: сумму и номер строки, для которой эта сумма достигается. Если таких строк несколько, то выводится номер наименьшей из них. Не забудьте, что нумерация строк (спортсменов) начинается с 0.
2 2 5 4 3 5
9 0
В метании молота состязается n
спортcменов. Каждый из них сделал m
бросков. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам. Таким образом, программа должна найти значение максимального элемента в данном массиве, а также его индексы (то есть номер спортсмена и номер попытки).
Программа получает на вход два числа n
и m
, являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n
строк по m
чисел, являющихся элементами массива.
Программа выводит значение максимального элемента, затем номер строки и номер столбца, в котором он встречается. Если в массиве несколько максимальных элементов, то нужно вывести минимальный номер строки, в которой встречается такой элемент, а если в этой строке таких элементов несколько, то нужно вывести минимальный номер столбца. Не забудьте, что все строки и столбцы нумеруются с 0.
3 3 3 1 2 1 3 4 3 3 3
4 1 2