第七屆 6 方格填數

2021-08-17 13:52:32 字數 1386 閱讀 7626

如下的10個格仔

+--+--+--+

|  |  |  |

+--+--+--+--+

|  |  |  |  |

+--+--+--+--+

|  |  |  |

+--+--+--+

(如果顯示有問題,也可以參看【圖1.jpg】)

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

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

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

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

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

1.本來自己暴力求解  發現有重複的 可是我覺得題目不嚴謹 如果暴力不想重複的話 就在沒每個迴圈加乙個判斷206059714

#includeusing namespace std;

int main()}}

}}}}

}} }

cout<2.全排列+暴力  沒有重複

#include using namespace std;//全排列標頭檔案#include

int main()

; while(next_permutation(a, a+10))//全排列 例如:1 2 3 ——>1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1

}cout << cnt;

return 0;

}

3.搜尋

#include #include #include int chess[8][8],sum=0;//sum代表方案的總數   

bool vis[20];

int dx[8]=;

int dy[8]=;

bool check(int k,int x,int y)//對他相鄰的8個方格進行比較

}

return true;

}

void dfs(int sx,int sy)//sx,sy代表初始座標

chess[sx][sy]=k;

vis[k]=true;

if(sy==4)//如果到達了,最後一列就進行下一行的填數

dfs(sx+1,1);

else

dfs(sx,sy+1);

vis[k]=false;

chess[sx][sy]=-1;

}

}

}

int main()

第七屆藍橋杯 方格填數

方格填數 如下的10個格仔,填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。flag陣列標誌數字是否已經填在方格中67 8int check int a ...

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

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

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

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