方格填數 (搜尋)

2021-07-15 23:24:52 字數 1153 閱讀 1306

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 60  

解決: 26 [

提交][

狀態][

討論版]

如上面的10個格仔,填入0~9的數字,不能重複(原先已經填了一部分數字),要求:連續的兩個數字不能相鄰(左右,上下,對角都算相鄰)。例如:數字0和1不能放在一起。

問:一共有多少種可能的填數方案?

輸入多組測試資料。

每組測試資料有三行,第一行三個整數,第二行四個整數,第三行三個整數,之間用空格隔開,分別代表每個空格所填的數,如果原先沒有數,則填-1。

輸入資料保證不重複數字,不保證連續數字不相鄰。

每組測試資料輸出一行。

輸出表示方案數目的整數。

-1 -1 -1

-1 -1 -1 -1

-1 -1 -1

0 1 -1

-1 -1 -1 -1

-1 -1 -1

1 3 5

-1 -1 -1 -1

-1 -1 -1

158008 

//思路:從第2個空至第11個空遍歷填入資料,判斷 每次填入的數 和 輸入的數 的左、左上、上、右上滿足不連續,能填到第11個數計數+1

#include #include #include int a[5][5] = ;

int mark[11];

int count;

bool write() //寫入

return true;

}bool judge(int x,int y,int m)

void dfs(int n)

if(a[r][c] == -1)

} }

else if(judge(r,c,a[r][c]))//對輸入的資料判斷是否連續,若不連續返回上一層函式,

dfs(n + 1); //進入下一層,對下乙個數判定

} int main()

return 0;

}

3 23 方格填數 深度搜尋

方格填數 如下的10個格仔 如果顯示有問題,也可以參看 圖1.jpg 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。include include us...

方格填數 (全排列)

填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。思路 全排列0 9,判斷是否相鄰,若為相鄰則兩數之差的絕對值為1 include include incl...

藍橋杯 方格填數

方格填數 如下的10個格仔 如果顯示有問題,也可以參看 圖1.jpg 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。include include in...