// Author:PanDaoxi
#include <iostream>
#include <cmath>
using namespace std;
int flag[3][4];
int mpt[3][4];
bool visit[10];
int dir[8][2]={0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1};
int ans=0;
bool Solve(){
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
if(flag[i][j]==0) continue;
for(int k=0;k<8;k++){
int x,y;
x=i+dir[k][0];
y=j+dir[k][1];
if(x<0||x>=3||y<0||y>=4||flag[x][y]==0) continue;
if(abs(mpt[x][y]-mpt[i][j])==1) return false;
}
}
}
return true;
}
void dfs(int x,int y){
if(x==2&&y==3){
if(Solve()) ans++;
return;
}
for(int i=0;i<10;i++){
if(!visit[i]){
visit[i]=true;
mpt[x][y]=i;
if(y+1<4) dfs(x,y+1);
else dfs(x+1,0);
visit[i]=false;
}
}
}
int main(){
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
flag[i][j]=1;
}
}
flag[0][0]=0;
flag[2][3]=0;
dfs(0,1);
cout<<ans;
}
深度优先搜索:方格填数
原创
©著作权归作者所有:来自51CTO博客作者PanDaoxi的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:深度优先搜索:凑算式
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
数仓安全:数据脱敏技术深度解析
GaussDB (DWS)产品8.1.1版本发布数据脱敏特性,提供指定用户范围内列级敏感数据的脱敏功能,具有灵活、高效、透明、友好等优点,极大地增强产品的数据安全能力。
数据 敏感数据 字段 GaussDB (DWS) -
关于Java Chassis 3的契约优先(API First)开发
契约优先(API First)开发是指应用程序开发过程中,将API设计作为第一优先级的任务。
API Java Java Chassis 3 Web Services -
方格填数-(全排列)
填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共为1#include#include#include#i
c语言 #include ios 全排列 -
深度优先搜索和广度优先搜索
深度优先搜索和广度优先搜索
python c++ java i++ 递归