Codeforces Round 978 (Div. 2) |
---|
Закончено |
Это простая версия задачи. В этой версии гарантируется, что $$$q = 0$$$. Вы можете совершать взломы только в том случае, если решены обе версии задачи.
Целочисленная сетка $$$A$$$ с $$$p$$$ строками и $$$q$$$ столбцами называется красивой, если:
Имеется частично заполненная целочисленная сетка $$$G$$$ с $$$n$$$ строками и $$$m$$$ столбцами, в которой заполнены только $$$k$$$ ячеек. Поликарп хочет узнать, сколькими способами он может распределить целые числа по незаполненным ячейкам, чтобы сетка стала красивой.
Однако Монокарп считает, что эта задача слишком проста. Поэтому он выполнит $$$q$$$ обновлений сетки. В каждом обновлении он будет выбирать незаполненную ячейку и присваивать ей целое число. Заметим, что эти обновления перманентны. То есть изменения, внесенные в сетку, будут применяться при обработке будущих обновлений.
Для каждого из $$$q + 1$$$ состояния сетки (начального состояния и после каждого из $$$q$$$ запросов) определите количество способов, которыми Поликарп может присвоить целые числа незаполненным ячейкам, чтобы сетка стала красивой. Поскольку это число может быть очень большим, от вас требуется только вывести их значения по модулю $$$10^9+7$$$.
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит четыре целых числа $$$n$$$, $$$m$$$, $$$k$$$ и $$$q$$$ ($$$2 \le n, m \le 10^5$$$; $$$0 \le k \le 10^5$$$; $$$q = 0$$$) — количество строк, количество столбцов, количество фиксированных ячеек и количество обновлений.
Следующие $$$k$$$ строк содержат по три целых числа $$$r$$$, $$$c$$$ и $$$v$$$ ($$$1 \le r \le n, 1 \le c \le m$$$; $$$0 \le v < 2^{30}$$$) — изначально элементу $$$G_{r, c}$$$ присвоено целое число $$$v$$$.
Следующие $$$q$$$ строк содержат по три целых числа $$$r$$$, $$$c$$$ и $$$v$$$ ($$$1 \le r \le n, 1 \le c \le m$$$; $$$0 \le v < 2^{30}$$$) — данное обновление присваивает элементу $$$G_{r, c}$$$ целое число $$$v$$$.
Гарантируется, что пары $$$(r,c)$$$ во всех присваиваниях различны.
Гарантируется, что суммы $$$n$$$, $$$m$$$, $$$k$$$ и $$$q$$$ по всем наборам входных данных не превосходят $$$10^5$$$ соответственно.
Для каждого набора входных данных выведите $$$q + 1$$$ строку. В $$$i$$$-й строке вывода должен содержаться ответ для $$$i$$$-го состояния решетки по модулю $$$10^9 + 7$$$.
23 3 8 02 1 63 2 121 2 62 2 01 3 101 1 02 3 123 1 102 5 2 01 1 101 2 30
1 489373567
В первом наборе входных данных мы имеем следующую сетку:
$$$0$$$ | $$$6$$$ | $$$10$$$ |
$$$6$$$ | $$$0$$$ | $$$12$$$ |
$$$10$$$ | $$$12$$$ | $$$?$$$ |
Можно доказать, что единственным допустимым значением для ячейки $$$(3, 3)$$$ является $$$0$$$.
Название |
---|