題目:
爆搜;dfs中flag的應用;
42行 無解時賦為0,如果有解賦為0,那本來賦值的會變為0;
注意:
這個題有點特殊;
有的數(初始的)不能修改;
這不是剪枝……有回溯……;
總結:
基礎不紮實;
注意什麼時候應該用flag
#include
#include
#include
#include
using
namespace
std;
int ma[12][12],a[121];
bool vis[12][12],flag=1,hh[12][12];
bool pd(int x,int y,int now)
void dfs(int x)
if(x%9==0) fx=x/9;
else fx=x/9+1;
fy=x-(fx-1)*9;
if(ma[fx][fy]) dfs(x+1);
else
if(flag)
}if(flag) ma[fx][fy]=0;
}return;
}void solve()
int main()
洛谷P1784 數獨題解(DFS解法)
數獨是根據 9 9 盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含 1 9 不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨遊戲 並刊登在報紙上,讓大家去挑戰。...
洛谷 P1784 數獨
題目描述 數獨是根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含1 9,不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨遊戲 並刊登在報紙上,讓大家去挑...
洛谷 P1784 數獨
洛谷傳送門 數獨是根據 9 times 99 9 盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮內的數字均含 1 91 9 不重複。每一道合格的數獨謎題都有且僅有唯一答案,推理方法也以此為基礎,任何無解或多解的題目都是不合格的。芬蘭一位數學家號稱設計出全球最難的 數獨...