博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1321 棋盘问题
阅读量:5295 次
发布时间:2019-06-14

本文共 947 字,大约阅读时间需要 3 分钟。

分析:

  DFS,不能放在同一行或同一列,有点类似n皇后问题

  一列一列的往下搜索,这一列有棋子,标记这一列。

1 #include
2 #include
3 #include
4 using namespace std; 5 6 int n, k, ans = 0; 7 int vis[10]; //line 一行一行的扫 8 char map[10][10]; 9 void DFS(int row, int m)10 {11 if(m == k) {ans++; return;}12 if(row > n) return;13 for(int i = 1; i <= n; i++){14 if(vis[i] == 0 && map[row][i] == '#'){15 vis[i] = 1;16 DFS(row+1,m+1); //下一个棋子在下一行 17 vis[i] = 0;18 }19 }20 DFS(row+1,m); //扫描下一步 21 }22 int main()23 {24 while(cin >> n >> k && n != -1 && k != -1){25 ans = 0;26 memset(vis,0,sizeof(vis));27 for(int i = 1; i <= n; i++)28 for(int j = 1; j <= n; j++)29 cin >> map[i][j];30 DFS(1,0);31 cout << ans << endl;32 } 33 return 0;34 }

 

转载于:https://www.cnblogs.com/JiaaaaKe/p/9512397.html

你可能感兴趣的文章
A Xamarin.Forms Infinite Scrolling ListView
查看>>
MapReduce入门(三)倒排索引
查看>>
android 几个开源项目
查看>>
jsmooth和exe4j
查看>>
写给后端程序员的HTTP缓存原理介绍
查看>>
phonegap开发环境搭建
查看>>
在线学习站点
查看>>
销售价目表加业务区域字段
查看>>
hdu 1528 二分匹配
查看>>
hdu 1863
查看>>
Ubuntu16.04中安装stlink驱动
查看>>
css禁止用户选中文本(转)
查看>>
Python中文编码问题(字符串前面加'u')
查看>>
ExecuteReader执行查询实例
查看>>
MyEclipse 中 使用 TortoiseSVN(1)
查看>>
【HDOJ】1015 Safecracker
查看>>
mentohust 你让我如何说你是好呢?
查看>>
php注释规范
查看>>
需要使用id内省方法--responsesToSelector: 的两个地方
查看>>
(二)libevent库的使用
查看>>