UVa 11244 counting stars ( 搜索 BFS)
2013-03-07 17:07
387 查看
这道题,我承认特别水,但是我提交了第四次才过
各种错误,前两次是测试数据的输出没有注释掉,后一次是把数据看错了
这样的题不应该这么慢,一次过是很正常的,因为太简单了,这样的错误千万别犯了
代码:
各种错误,前两次是测试数据的输出没有注释掉,后一次是把数据看错了
这样的题不应该这么慢,一次过是很正常的,因为太简单了,这样的错误千万别犯了
代码:
#include <cstdio> #include <cstring> const int N = 150; int r, c; char g ; int main() { while ( scanf("%d%d", &r, &c ) != EOF && !( !r && !c ) ) { getchar(); int num = 0; for ( int i = 1; i <= r; getchar(), ++i ) for ( int j = 1; j <= c; ++j ) scanf("%c", &g[i][j]); for ( int i = 1; i <= r; ++i ) for ( int j = 1; j <= c; ++j ) { if ( g[i][j] == '*' ) { if ( i > 1 && g[i-1][j] == '*' ) continue; if ( j > 1 && g[i][j-1] == '*' ) continue; if ( i < r && g[i+1][j] == '*' ) continue; if ( j < c && g[i][j+1] == '*' ) continue; if ( j > 1 && i > 1 && g[i-1][j-1] == '*' ) continue; if ( j < c && i < r && g[i+1][j+1] == '*' ) continue; if ( j > 1 && i < r && g[i+1][j-1] == '*' ) continue; if ( j < c && i > 1 && g[i-1][j+1] == '*' ) continue; num++; // printf("%d %d\n", i, j); } } // for ( int i = 1; i <= r; ++i, printf("\n") ) for ( int j = 1; j <= c; ++j ) printf("%c", g[i][j]); printf("%d\n", num); } }
相关文章推荐
- uva11624 Fire! BFS搜索 TWT Tokyo Olympic 2combo-2
- UVA 11624 UVA 10047 两道用 BFS进行最短路搜索的题
- 搜索 ( BFS )——Maximum Cut Order ( UVA 7460 )
- UVA 1600 Patrol Robert 巡逻机器人 (启发搜索BFS)
- uva439 Knight Moves (搜索 BFS, BFS启蒙题)
- UVa 11244 - Counting Stars
- UVALive-7354-Kitchen Measurements(BFS搜索)
- UVA 11882 Biggest Number (dfs搜索+bfs 剪枝)
- uva 816 有点复杂的BFS和宽度优先搜索模板 Abbott's Revenge
- UVA 439 bfs搜索
- Uva11624 Fire(bfs 搜索)
- UVA - 11624 Fire!(15.10.10 搜索专题)bfs
- UVa 11624 Fire!(搜索 -- BFS)
- [状态搜索] UVa1601 The Morning after Halloween 普通BFS写法
- UVA 1377 Ruler bfs+状压搜索
- BFS(两点搜索) UVA 11624 Fire!
- UVA 11624 Fire! BFS搜索
- uva 11624 Fire!(搜索:BFS)
- 搜索(DFS+BFS)——UVA Live 6455
- UVALive 6665 Dragon&#226;s Cruller --BFS,类八数码问题