鹿是草食動物,通常以草和樹葉為食
虎視虎子在社團辦公室種了很多的觀賞用植物,不過從日野動物園逃出來的角田先生經常會偷偷跑來偷吃鹿仙貝順便咬這些植物的葉子。
虎視虎子打算重新安排這些植物的位置,她準備了一片大小為 $N$ 的六邊形田地,並打算將這些花花草草搬過去。六邊形田地以六邊形區域鑲嵌而成,單一一個六邊形區域構成一個大小為 $1$ 的田地,而大小為 $N$ 的田地則由大小為 $N-1$ 的田地在外圍多圍一圈六邊形區域而成。舉例來說,以下由左而右分別是大小為 $2$、$3$ 和 $4$ 的田地。
虎視虎子將每株植物移入如下的 V 字形盆栽中,每個盆栽佔據 $3$ 個六邊形區域:
虎視虎子一共有 $N^ 2-N$ 株植物,她打算將這 $N^ 2-N$ 個盆栽放入田地中,並留下恰好 $1$ 個六邊形區域。她打算利用這個區域作為誘餌,趁角田先生走進這個區域時在周圍擺滿裝水的寶特瓶試圖困住她。盆栽可以被旋轉,不一定要以如上圖的角度擺在田地中,但盆栽之間不能重疊,必須排列整齊,也就是說,每個盆栽必須完整地覆蓋住 $3$ 個六邊形區域。留空的六邊形區域以及田地範圍外皆不能有盆栽。
舉例來說,以下是一個在大小為 $4$ 的田地上擺放 $12$ 個盆栽的方式。白色的格子為留下的空格,而不同的盆栽則以不同顏色作出區隔:
為了方便定位每個區域的位置,虎視虎子使用了以下的座標系統:正中心的區域座標為 $(0,0)$,並以向右的方向為 $x$ 軸,向右上方 $60^ \circ$ 的方向為 $y$ 軸,每個六邊形為 $1$ 單位距離。大小為 $4$ 的田地中,每個區域的座標可以參考下圖:
虎視虎子已經決定好了要留下的空格的位置,她想請你寫一支程式幫她找出一種方式將 $N^ 2-N$ 個盆栽放入田地中。
輸入的第一行為一整數 $T$,表示測試資料的數量。
每一筆測試資料僅一行,包含三個整數 $N,X,Y$,表示田地的大小,以及要留空的位置為 $(X,Y)$。
對於每一筆測試資料,如果不存在擺放的方法,請輸出一行 No
;否則,請先輸出一行 Yes
,接下來 $N^ 2-N$ 行,每行包含六個整數 $x_{i,1}, y_{i,1}, x_{i,2}, y_{i,2}, x_{i,3}, y_{i,3}$,表示第 $i$ 個盆栽佔據了 $(x_{i,1}, y_{i,1}), (x_{i,2}, y_{i,2}), (x_{i,3}, y_{i,3})$ 這三個區域。
如果有多種可能的輸出,你可以輸出任意一種。
你可以使用以下的工具幫助解題以及畫出範例測資的擺放方式。我們建議使用電腦瀏覽器開啟以下工具。
改編自 NPSC 2022 國中組決賽 pF - 拼拼圖
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0 | 範例測資 | 0 |
2 | 0~4 | $N \leq 5$ | 5 |
3 | 5~6 | $X = Y = 0$ | 5 |
4 | 7~8 | $X > 0, Y = 0, X = N - 1$ | 10 |
5 | 9~10 | $X > 0, Y = 0, X = N - 2$ | 11 |
6 | 7~20 | $X > 0, Y = 0$ | 12 |
7 | 7~8, 21~30 | $X > 0, Y \geq 0, X + Y = N - 1$ | 18 |
8 | 9~10, 31~40 | $X > 0, Y \geq 0, X + Y = N - 2$ | 19 |
9 | 0~60 | 無額外限制 | 20 |