QOJ.ac

QOJ

시간 제한: 1.0 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#18406. Snúningsæði

통계

Herra Nežmah fann grind með $n$ röðum og $m$ dálkum sem er fyllt með tölunum $0$ og $1$. Vegna þráhyggju- og árátturöskunar sinnar (OCD) vill hann breyta öllum ásunum í grindinni í núll. Hann á $k$ tvenndir af tölum $(a_i, b_i)$ sem honum líkar við. Eina aðgerðin sem hann má gera er eftirfarandi:

  • Velja reit $(r, c)$ annaðhvort í fyrstu röðinni eða í fyrsta dálkinum.
  • Velja eina tvennd af tölum $(a, b)$ sem honum líkar við.
  • Snúa við öllum tölunum inni í reitunum sem eru í rétthyrningnum af hæð $a$ og breidd $b$ þar sem efra vinstra hornið er reiturinn $(r, c)$. Að snúa við þýðir að breyta öllum $0$ í $1$ og öllum $1$ í $0$. Rétthyrningurinn verður að vera að fullu innan grindarinnar.

Hjálpaðu Nežmah að hreinsa grindina!

Inntak

Fyrsta línan inniheldur eina heiltölu $t$ ($1 \le t \le 300$) — fjölda prófunartilvika.

Fyrsta línan í hverju prófunartilviki inniheldur $3$ heiltölur $n$, $m$ og $k$ ($2 \le n, m \le 1000, 1 \le k \le 20$), stærðir grindarinnar og fjölda para $(a_i, b_i)$.

Næstu $n$ línur innihalda $m$ stafi hver, sem eru allir 0 eða 1, og lýsa grindinni.

Næstu $k$ línur innihalda hver um sig tvær heiltölur $a_i$ og $b_i$ ($1 \le a_i < n, 1 \le b_i < m$, öll pörin $(a_i, b_i)$ eru ólík).

Tryggt er að summa $n$ og summa $m$ yfir öll prófunartilvik fari ekki yfir $1000$.

Úttak

Fyrir hvert prófunartilvik skal prenta fjölda aðgerða ($0 \le op \le k(n + m)$).

Í næstu $op$ línum skal prenta $3$ heiltölur $r_i$, $x_i$ og $y_i$ ($1 \le r_i \le k, 1 \le x_i \le n - a_{r_i} + 1, 1 \le y_i \le m - b_{r_i} + 1$, að minnsta kosti önnur talnanna $x_i$ og $y_i$ er jöfn $1$), sem þýðir að þú velur að snúa við öllum reitum innan rétthyrningsins með $a_{r_i}$ röðum og $b_{r_i}$ dálkum sem hefur efra vinstra hornið í $(x_i, y_i)$.

Tryggt er að lausn sé til, og ef það eru margar lausnir geturðu prentað hverja sem er þeirra.

Dæmi

Inntak 1

5
6 6 2
000000
111110
000000
100001
011111
111110
5 5
3 5
4 5 2
10111
00101
10000
01100
1 3
2 1
2 2 1
00
00
1 1
5 5 3
10100
10010
00000
01101
00100
3 4
2 3
4 2
5 5 4
01010
01010
10101
00100
00100
2 2
2 3
3 2
3 3

Úttak 1

5
1 1 2
2 1 2
2 2 1
2 3 1
2 4 1
6
1 1 1
1 1 2
1 4 1
2 1 3
2 1 5
2 3 1
0
10
1 1 1
1 1 2
1 2 1
2 1 1
2 1 2
2 4 1
3 1 1
3 1 2
3 1 4
3 2 1
5
3 1 4
2 1 3
4 1 2
2 4 1
3 3 1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.