QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#18406. جنون القلب

Estadísticas

وجد السيد Nežmah شبكة مكونة من $n$ صفوف و $m$ أعمدة مملوءة بالأصفار ($0$) والآحاد ($1$). وبسبب الوسواس القهري لديه، يريد تحويل جميع الآحاد في الشبكة إلى أصفار. لديه $k$ من الأزواج المرتبة من الأعداد $(a_i, b_i)$ التي يحبها. العملية الوحيدة المسموح له بالقيام بها هي التالية:

  • اختيار خلية $(r, c)$ تقع إما في الصف الأول أو في العمود الأول.
  • اختيار زوج واحد من الأعداد $(a, b)$ التي يحبها.
  • قلب جميع الأعداد داخل الخلايا الموجودة في المستطيل الذي ارتفاعه $a$ وعرضه $b$ والذي تكون زاويته العلوية اليسرى هي الخلية $(r, c)$. القلب يعني تغيير جميع الـ $0$ إلى $1$، وجميع الـ $1$ إلى $0$. يجب أن يكون المستطيل محتوى بالكامل داخل الشبكة.

ساعد Nežmah في تصفير الشبكة!

الإدخال

يحتوي السطر الأول على عدد صحيح واحد $t$ ($1 \le t \le 300$) — عدد حالات الاختبار.

يحتوي السطر الأول من كل حالة اختبار على $3$ أعداد صحيحة $n$ و $m$ و $k$ ($2 \le n, m \le 1000, 1 \le k \le 20$)، وهي أبعاد الشبكة وعدد الأزواج $(a_i, b_i)$.

تحتوي الـ $n$ أسطر التالية على $m$ محارف في كل منها، وجميعها إما 0 أو 1، تصف الشبكة.

تحتوي الـ $k$ أسطر التالية في كل منها على عددين صحيحين $a_i$ و $b_i$ ($1 \le a_i < n, 1 \le b_i < m$، جميع الأزواج $(a_i, b_i)$ متمايزة).

من المضمون أن مجموع $n$ ومجموع $m$ عبر جميع حالات الاختبار لا يتجاوزان $1000$.

الإخراج

لكل حالة اختبار، اطبع عدد العمليات ($0 \le op \le k(n + m)$).

في الـ $op$ أسطر التالية، اطبع $3$ أعداد صحيحة $r_i$ و $x_i$ و $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$، واحد على الأقل من $x_i$ و $y_i$ يساوي $1$)، مما يعني أنك تختار قلب جميع الخلايا داخل المستطيل المكون من $a_{r_i}$ صفوف و $b_{r_i}$ أعمدة والذي تقع زاويته العلوية اليسرى عند $(x_i, y_i)$.

وجود الحل مضمون، وإذا كانت هناك حلول متعددة يمكنك طباعة أي منها.

مثال

الإدخال 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

الإخراج 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.