POJ 1321 棋盘问题

mac2022-06-30  113

水水的DFS,中文题目大意不解释。

这是一道八皇后问题的衍生题吧,我觉得是这样,不知道你们怎么看。

直接贴代码:

#include <stdio.h> #include <string.h> bool vis[10]; int map1[10][10],n,k,cut; void DFS(int num,int y) { int i; if(num==k) { cut++; return ; } if(y>n) { return; } for(i=0; i<n; i++) { if(map1[y][i]&&!vis[i]) { vis[i]=1; DFS(num+1,y+1); vis[i]=0; } } DFS(num,y+1); return; } int main() { int i,j; while(scanf("%d%d",&n,&k),n!=-1||k!=-1) { char s[10]; for(i=0; i<n; i++) { scanf("%s",s); for(j=0; j<n; j++) { if(s[j]=='.') { map1[i][j]=0; } else if(s[j]=='#') { map1[i][j]=1; } } } memset(vis ,0,sizeof(vis)); cut=0; DFS(0,0); printf("%d\n",cut); } return 0; }

转载于:https://www.cnblogs.com/lin375691011/p/3996759.html

相关资源:POJ1321棋盘问题
最新回复(0)