藍橋杯 方格填數(第七屆第六題)dfs 全排列

2021-09-12 17:29:17 字數 855 閱讀 3747

方格填數

如下的10個格仔

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

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

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

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

解法一:

列舉全排列,全排列的結果儲存在nums陣列裡面,nums陣列按照順序放的是3x4個格仔的數(第乙個格仔和最後乙個格仔沒數我們用-1代替,這樣的目的是為了一維能向二維轉化),我們需要判斷這中放置方法是否合理,對於nums中的每乙個數,分解出它在二維座標中的位置,對於相鄰的八個方向如果有值和當前位置的值相等則說明這個放置方法不合理。如果所有位置都沒有發現有相鄰的,則當前放置方法合理,可能的方案數加1。

#include #include #include #include using namespace std;

vectornums=;

bool test()}}

return true;

}int main();

int dir[4][2]=,,,};

bool test()

}return true;

}int main(),,,};

bool judge(int r,int c,int v)

}return true;

}void dfs(int r,int c)

for(int i=0;i<=9;i++)

}}int main()

第七屆藍橋杯b組第六題 方格填數

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

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

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

第七屆藍橋杯 方格填數

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