Замощение

Это задача с открытыми тестами.

Вам дана матрица из nn строк и mm столбцов, dd клеток которой вырезаны, а также дан набор из kk фигур, которые нужно разместить без пересечений на оставшиеся клетки. Гарантируется, что для каждого теста возможно разместить без пересечений все заданные фигуры.

Входные данные

В первой строке каждого теста находится одно число tt – номер теста. Во второй строке даны числа nn, mm, kk, dd. Затем для каждой из kk фигур сначала вводится количество клеток в ней wiw_i, а затем для каждой клетки вводятся числа rxrx, ryry – смещение текущей клетки от одной из клеток фигуры. Гарантируется, что будет ровно одна клетка с rx=ry=0rx = ry = 0. Также гарантируется, что каждая фигура связна.

Затем в DD строках вводятся числа DX,DYDX, DY – позиция очередной вырезанной клетки

Выходные данные

На проверку необходимо сдать выходные файлы с названиями output1.txt, output2.txt, ... , output10.txt, где выходной файл outputX.txt должен соответствовать входному файлу inputX.txt.

В первой строке выведите количество размещённых фигур, а далее для каждой из kk фигур из ввода введите по 2 числа - позицию клетки со смещением (0,0)(0, 0) из этой фигуры на поле, либо -1 -1, если эта фигура не была размещена.

STDINSTDOUT
0
4 4 4 3
2
0 0
0 -1
2
0 0
-1 0
5
-1 0
-1 -1
0 0
-1 -2
-2 -2
4
0 0
1 0
2 0
0 -1
4 4
2 3
1 1
4
4 2
2 2
4 3
1 4