zoj2100-Seeding
来源:互联网 发布:淘宝茜茜家的铺子真假 编辑:程序博客网 时间:2024/05/16 17:29
/*解题思路:首先记录下'.'的个数count,接着每遍历成功一个单元格就num++,当count=num说明全部遍历成功。因为此题从(0,0)开始,但是不知道什么位置停止,所以不能将坐标作为终止条件。 */ #include<iostream>using namespace std;char map[100][100];int book[100][100];int m,n,count=0,num=0,flag=0;int next[4][2]={{0,1},{0,-1},{-1,0},{1,0}};void dfs(int x,int y){int tx,ty,k;if(num==count){flag=1;return ;}for(k=0;k<4;k++){tx=x+next[k][0];ty=y+next[k][1];if(tx<0||tx>=n||ty<0||ty>=m)continue;if(map[tx][ty]!='S'&&book[tx][ty]==0){num++;//访问一次就加一次book[tx][ty]=1;//标记为走过dfs(tx,ty);//进入下一层book[tx][ty]=0;//取消标记,不可缺少 num--;//跳出一次就减一次,不可缺少 } } }int main(){int i,j;while(cin>>n>>m&&n&&m){count=0;//对于循环输入的程序一定注意这些初始化放置在全局还是main中,重要!!之前失败的原因就是这个初始化 num=0;flag=0;for(i=0;i<n;i++){for(j=0;j<m;j++){cin>>map[i][j];if(map[i][j]=='.')count++;}}book[0][0]=1;num++;dfs(0,0);if(flag)cout<<"yes"<<endl;elsecout<<"no"<<endl;}return 0;}
0 0
- zoj2100 Seeding
- Seeding--zoj2100
- zoj2100-Seeding
- Seeding zoj2100 【DFS】
- zoj2100 Seeding (DFS递归+回溯)
- ZOJ2100-Seeding(dfs基础题)
- Seeding
- Seeding
- Seeding
- Seeding
- zoj2100(DFS)
- Seeding zoj
- ZOJ-Seeding
- Seeding 2100
- zhejiang Seeding
- Seeding【dfs】
- Seeding 【dfs】
- 递归 Seeding
- 在Ubuntu中安装HBase
- IOS通讯录编程 获取通讯录信息
- nyoj 阶乘之和 贪心
- Android屏幕适配全攻略3-和产品经理聊聊
- 强大的三目运算符
- zoj2100-Seeding
- core文件生成问题
- 2016春季练习——水题
- 用Maven构建Mahout项目
- 写代码的小女孩(转自Dream群)
- 参考任哲的《嵌入式实时操作系统μC_OS-II原理及应用》,对UCOS的任务调度做了下整理。
- Spring4.1新特性——Spring缓存框架增强
- 机器学习:决策树python实现
- YTU:C语言习题 输出月份