Sicily 2002 Feeding Time
来源:互联网 发布:curl php extension 编辑:程序博客网 时间:2024/05/17 08:34
简单的图遍历问题,我一开始用dfs,结果750*750的数据就爆栈空间了,改用bfs就AC了。
#include <iostream>#include <cstring>#include <queue>using namespace std;int w, h, d[855][855], vis[855][855], ans;void deal(int x, int y, queue<int> & q)//判断是否合法,是否访问过,然后压进队列中{ if (x < h && x >= 0 && y < w && y >= 0 && d[x][y] && !vis[x][y]) { vis[x][y] = 1; q.push(x*w+y); }}int main(){ int i, j, tmax = -1; string s; cin >> w >> h; for (i = 0; i < h; ++ i) { cin >> s; for (j = 0; j < s.size(); ++ j ) if (s[j] == '.') d[i][j] = 1;//建01图 } for (i = 0; i < h; ++ i) for (j = 0; j < w; ++ j) if (!vis[i][j] && d[i][j]) { ans = 0; queue<int> q; q.push(i*w+j); vis[i][j] = 1;//第一个点要注意vis数组的操作 while (!q.empty()) { int t = q.front(); q.pop(); int x = t / w; int y = t % w; ++ ans; deal(x+1, y, q); deal(x, y+1, q); deal(x-1, y, q); deal(x, y-1, q); deal(x+1, y+1, q); deal(x+1, y-1, q); deal(x-1, y+1, q); deal(x-1, y-1, q); } if ( ans > tmax ) tmax = ans; } cout << tmax << endl; return 0;}
0 0
- sicily 2002 Feeding Time
- Sicily 2002 Feeding Time
- Sicily 2002. Feeding Time
- Sicily 2002. Feeding Time
- feeding time
- sicily 2401 Judges' Time Calculation
- Sicily 2401. Judges' Time Calculation
- Sicily 1063 Time Limit Exceeded我日
- woj1007- Feeding Animals(I)
- WOJ1008-Feeding Animals(II)
- WOJ1007-Feeding Animals(I)
- hiho1227--The Cats' Feeding Spots
- 【HIHOCODER】The Cats' Feeding Spots
- Feeding Frenzy完成后的经验总结
- hihoCoder1227 The Cats' Feeding Spots 二分
- hihoCoder #1227 : The Cats' Feeding Spots
- hihoCoder 1227 The Cats' Feeding Spots(水)
- hihoCoder 1227 The Cats' Feeding Spots
- hdu 4105 Electric wave (dp)
- JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)
- 斯坦福大学机器学习公开课---2. Linear regression
- [MFC]学习笔记:Dialog 屏蔽Enter & ESC退出的功能
- 关于在类库下调用WebService和.edmx文件的问题
- Sicily 2002 Feeding Time
- 数据结构实验之栈三:后缀式求值
- 十几年过去了,再回顾过去的代码岁月很有感触.给大家展示一下我当初开始学VC++时,创作的启蒙作品,呵呵
- android 设置渐变背景色
- OpenCV中argv的传奇
- 第一次在Linux下导出类库的惨痛经历
- 数据结构实验之栈二:一般算术表达式转换成后缀式
- Jquery.load()引入重复js导致ztree不可用
- 杭电2734