QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#20031. Piękny kwadrat

Statistics

Harry uwielbia rysować. Harry uwielbia też kwadraty. Dzisiaj Harry zamierza narysować kwadrat.

Kwadrat Harry’ego można podzielić na $n\cdot n$ kwadratów jednostkowych. Ponumerujmy wiersze od $1$ do $n$, od góry do dołu. Podobnie ponumerujmy kolumny od $1$ do $n$, od lewej do prawej.

W każdym kwadracie jednostkowym Harry zamierza wpisać liczbę całkowitą od $1$ do $n\cdot n$. Według Harry’ego kwadrat jest piękny wtedy i tylko wtedy, gdy spełnia następujące warunki:

  • Każda liczba całkowita od $1$ do $n\cdot n$ jest wpisana w dokładnie jedno pole.
  • Dla każdego $i$ od $1$ do $n\cdot n-1$ dwie liczby $i$ oraz $i+1$ muszą być wpisane w dwa kwadraty jednostkowe mające wspólny bok.

Harry narysował już kwadrat rozmiaru $n$ i wpisał liczbę $1$ w pewne pole. Pomóż Harry’emu wpisać liczby od $2$ do $n\cdot n$, aby utworzyć piękny kwadrat.

Wejście

Pierwszy wiersz wejścia zawiera jedną liczbę całkowitą $t$ ($1\le t\le100$) — liczbę przypadków testowych. Następnie podanych jest $t$ przypadków testowych; każdy zawiera trzy liczby całkowite $n$, $r$ oraz $c$ w jednym wierszu ($1\le r,c\le n\le100$), gdzie:

  • $n$ oznacza rozmiar kwadratu narysowanego przez Harry’ego.
  • $r$ oraz $c$ to wiersz i kolumna kwadratu jednostkowego zawierającego liczbę $1$.

Wyjście

Dla każdego przypadku testowego:

  • Jeśli nie można utworzyć pięknego kwadratu, wypisz jeden wiersz zawierający NO.
  • W przeciwnym razie wypisz YES, a następnie $n$ wierszy, każdy zawierający dokładnie $n$ liczb całkowitych, przedstawiających piękny kwadrat. Jeśli istnieje więcej niż jedno rozwiązanie, możesz wypisać dowolne z nich.

Przykład

Wejście 1

2
4 1 1
5 1 2

Wyjście 1

YES
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
NO

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.