計蒜客 棋盤覆蓋

2021-08-08 23:57:17 字數 884 閱讀 5990

在乙個(2^k)×(2^k)個放個組成的棋盤中,若恰有乙個方格與其他方格不同,則稱該方格為一特殊方格,且稱該棋盤為一特殊棋盤。

在棋盤覆蓋問題中,要用如下四種不同形態的l型骨牌覆蓋乙個給定的特殊棋盤上除特殊方格以外的所有方格,且任何2個l型骨牌不得重疊覆蓋。易知,在任何乙個2^k * 2^k的批判覆蓋中,用到的l型骨牌個數恰好為((4^k) -1) / 3。

輸出格式: 

多組測試樣例。每組測試樣例給定k(1≤k≤10)、x、 y,代表這是乙個(2^k)×(2^k)的棋盤,x和y代表特殊方格的位置(座標從0開始)。

輸出格式: 

對於每組測試樣例,輸出你設計的棋盤。給每個骨牌編號(編號從1 到((4^k)-1)/3,特殊方格用0編號)。若有多種方案,請任意輸出一種即可。

樣例輸入:

2 0 1
樣例輸出:

2 0 3 3

2 2 1 3

4 1 1 5

4 4 5 5

**如下:

#include using namespace std;

int tile;

int board[1024][1024];

void chessboard(int tr,int tc,int dr,int dc,int k)

//覆蓋左下角子棋盤

if(dr>=tr+s&&dc=tr+s&&dc>=tc+s) //特殊方格在此棋盤中

chessboard(tr+s,tc+s,dr,dc,s);

else //特殊方格不在此棋盤中 }

int main()

} return 0;

}

計蒜客 馬的覆蓋點 dfs

題意 已知馬走日,可以走八個方向,現用 表示可走的路,表示到達的點。給出馬的乙個初始位置,請輸出馬在三步內可以到達的點 圖來表示 思路 dfs暴力搜尋即可。注意 不要返回,因為走三步時可能經過這個點。include include include include include include in...

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...