当前位置:百问十五>百科问答>全球最难的“数独游戏”答案是什么?

全球最难的“数独游戏”答案是什么?

2024-07-16 23:39:57 编辑:join 浏览量:542

全球最难的“数独游戏”答案是什么?

#include

int area;

bool check,row,line;

void Dfs(int x,int y)

{

if(y==10&&x==9)

{

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

{

for(int j=1;j<=9;j++)printf("%d ",area[i][j]);

printf("\n");

}

//ans++;

return;

}

else if(y==10&&x!=9)Dfs(x+1,1);

else if(area[x][y])Dfs(x,y+1);

else

{

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

{

if(!row[x][i]&&!line[y][i]&&!check[(x-1)/3*3+(y+2)/3][i])

{

row[x][i]=true;

line[y][i]=true;

check[(x-1)/3*3+(y+2)/3][i]=true;

area[x][y]=i;

Dfs(x,y+1);

row[x][i]=false;

line[y][i]=false;

check[(x-1)/3*3+(y+2)/3][i]=false;

area[x][y]=0;

}

}

}

}

int main()

{

freopen("9num.in","r",stdin);

freopen("9num.out","w",stdout);

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

for(int j=1;j<=9;j++)

{

scanf("%d",&area[i][j]);

check[(i-1)/3*3+(j+2)/3][area[i][j]]=true;

row[i][area[i][j]]=true;

line[j][area[i][j]]=true;

}

Dfs(1,1);

//printf("%d",ans);

fclose(stdin);

fclose(stdout);

return 0;

}

用这个不是更快?

标签:数独,最难,游戏

版权声明:文章由 百问十五 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.baiwen15.com/answer/181420.html
热门文章