殘缺棋盤問題

發布時間: July 30, 2022, 2:55 p.m.   最後更新時間: Jan. 1, 2024, 11:33 a.m.   時間限制: 10000ms   記憶體限制: 128M   SPJ

現在副社長有一塊大棋盤,棋盤為邊長是$2^n$的正方形,且這個棋盤有一格破了,某天副社長突發奇想覺得是不是可以用若干塊L型的小拼塊把除了破掉的那格都覆蓋住

例如棋盤是2*2,第 0,1 格破了,那就會如下圖

+ -

+ +

(+ 表示正常的格子,- 表示破掉的格子)

那你可以用一個小L型的拼塊把+都覆蓋住。

但副社長做到邊長是$2^2$就有問題了(他只想打音遊嘛),希望你可以幫他寫出程式找到覆蓋方法。

此題會有多組解(畢竟把數字互換就是另一組了),只要輸出一種即可。

給三個整數$n,x,y$,$2 \leq n \leq 10, 0 \leq x,y \leq 2^n - 1$ 代表棋盤邊長是$2^n$,第$x,y$格破了

請輸出$2^n$行,每行有$2^n$個數字代表該格是被第幾個小L行拼塊覆蓋,如果不懂請看範測

複製範例
1 0 1
1 0
1 1
複製範例
2 2 1
4 4 5 5
4 3 3 5
1 0 3 2
1 1 2 2

加油吧www

編號記得按照順序且不能重複喔,跳號得WA不關我的事

divide and conquer special judge

分治法