第七屆藍橋杯 方格填數

2022-09-03 16:12:16 字數 1200 閱讀 5591

方格填數

如下的10個格仔,

填入0~9的數字。要求:連續的兩個數字不能相鄰。

(左右、上下、對角都算相鄰)

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

請填寫表示方案數目的整數。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

flag陣列標誌數字是否已經填在方格中67

8int check(int a[4], int x, int y)//

檢查填在位置上的陣列是否和法,不合法返回0,914

if(y!=0)//

如果不是第一列,檢查前乙個數。

1518

if(x>0&&y<3)//

如果不是第一行,並且不是最後一列,檢查右上方

1922

if(x>0&&y>0)//

如果不是第一行,並且不是第一列,檢查左上方

2326

//在這說明,我們不需要檢查這個數後邊的所有數,因為後邊的數還沒填。以上都沒有不合法,說明這個數可以填在這個位置,返回1

27return1;

28}2930

void dfs(int a[4], int x, int

y)31

36for(int num = 0; num <= 9; num ++)

37if(!flag[num])

46 flag[num] = 0;//

num填在a[x][y]不合法,或者已經回退了,我們需要將num從方格中拿出來。47}

48}4950

51int

main()

52;//

把a[0][0]賦值乙個與0-9都不相鄰的數,方便檢查時候檢查條件判斷。

54 dfs(a, 0, 1);//

從a[0][1]開始填入數字。

55 cout<

56return0;

57 }

如果幫到你,麻煩給個

藍橋杯 第七屆C B組 方格填數

描述 方格填數 如下的10個格仔 圖1.jpg 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。思路 每個格和與它相鄰的格的差的絕對值都不能為0 第一格a...

第七屆藍橋杯省賽 方格填數

一 問題描述 二 題目型別 結果填空 三 解題思路及 這題。我丟進了題目閱讀理解的坑里!我以為每個格仔填0 9的數,還被隊友嘲笑,真 閱讀杯 微笑 所以題目就是求0 9這十個數字填進圖中十個方格的填數方案,要求連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 這沒什麼好思考的,乙個暴力破解完事兒!對...

藍橋杯第七屆第6題 方格填數

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