;//判斷當前數字是否已經用過
int flag[3]
[4];
//用來儲存每個格仔,判斷格仔是否能用
int map[3]
[4];
//用來儲存數字的格仔
int ans;
//記錄數目
void
init()
//初始化
} flag[0]
[0]=
0;//左上角格仔不能訪問
flag[2]
[3]=
0;//右下角格仔不能訪問
}void
judge()
;int list=1;
for(
int i=
0;i<
3;i++)}
}if(list)
ans++;}
void
dfs(
int n)
//表示第n次填入資料
if(flag[y]
[x])
//當前格仔可以訪問時}}
else
}int
main()
#include
#include
#include
using
namespace std;
int ans=0;
int a[10]
=;intcheck()
void
ade(
int begin,
int end,
int a)
else}}
intmain()
上面兩種方法都可以 2023年藍橋杯 A組 方格填數(dfs)
題目分析 有兩種思路,一種是從左上角第乙個節點開始,向下面和右面依次遍歷,每次填乙個數,並且判斷是否和四周的數相鄰。還有一種是直接全排列0 9,然後從左到右,從上到下依次填入,之後判斷是否滿足相鄰的格仔數不相鄰的條件,如果滿足則方案數 1.全排列用next permutation函式即可。inclu...
藍橋杯2016 C C B組 方格填數
時間限制 1 sec 記憶體限制 128 mb 提交 26 解決 10 提交 狀態 討論版 命題人 admin 題目描述 如下的10個格仔 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不...
方格填數(2023年藍橋杯)
如圖,如下的10個格仔,填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。看到這題第乙個想到的方法就是回溯,就很像八皇后,能填進去就填,填不進去就看下乙個位置 我做的是0 9不重複使用 我感覺這題麻煩就在判斷上 1.首先要...