首页 > 其他 > 详细

POJ 1231(简单搜索)

时间:2019-10-03 17:53:05      阅读:60      评论:0      收藏:0      [点我收藏+]
没什么意思,注意下细节
//#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cstring> #define inf (0x3f3f3f3f) using namespace std; const int maxn = 16; char Grape[maxn][maxn]; bool vis[maxn]; int n,k,ans; void dfs(int row,int num) { if(num==k) { ++ans; return; } if(row>n) return; for(int i=1;i<=n;++i) { if(Grape[row][i]==‘#‘&&!vis[i]) {//对于每一个地图的未访问过节点 vis[i] = true; dfs(row+1,num+1); vis[i] = false; } } dfs(row+1,num);//(SB了,不放旗子时是不需要有位置可以的)拿出循环外,找了n久,一直TLE } int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); while(cin>>n>>k) { if(n==-1) break; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) cin>>Grape[i][j]; memset(vis,false,sizeof(vis));//每一列 ans = 0; dfs(1,0); cout<<ans<<‘\n‘; } }

  

POJ 1231(简单搜索)

原文:https://www.cnblogs.com/newstartCY/p/11620201.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!