Grandpa's Walk UVALive - 6038 -DFS
2017-07-25 19:47
260 查看
题目链接如下
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4049
对图进行深度遍历,数条数就好了
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4049
对图进行深度遍历,数条数就好了
#include <iostream> #include <cstdio> #include<cstring> #include<algorithm> using namespace std; int map[120][120]; int vis[120][120]; int ans; int n,m; struct node { int x; int y; } h[120000]; int hx; int dx[4]= {0,0,-1,1}; int dy[4]= {1,-1,0,0}; void dfs(int x, int y) { vis[x][y]=1; int flag=0; for(int i=0; i<4; i++) { if(x+dx[i]>0 && y+dy[i]>0 && x+dx[i]<=n && y+dy[i]<=m && !vis[x+dx[i]][y+dy[i]] && map[x][y]>map[x+dx[i]][y+dy[i]]) { flag=1; dfs(x+dx[i], y+dy[i]); } } if(!flag) ans++; vis[x][y]=0; } int main () { int t; cin>>t; int tt=1; while(t--) { memset(map,0,sizeof(map)); memset(vis,0,sizeof(vis)); cin>>n>>m; ans=0; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cin>>map[i][j]; } } hx=0; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { if(map[i][j]>=map[i-1][j] && map[i][j]>=map[i+1][j] && map[i][j]>=map[i][j-1] &&map[i][j]>=map[i][j+1]) { h[hx].x=i; h[hx].y=j; hx++; } } } for(int i=0;i<hx;i++) { dfs(h[i].x, h[i].y); } printf("Case #%d: %d\n",tt++,ans); } }
相关文章推荐
- UVaLive 6038 - Grandpa's Walk 解题报告
- Grandpa's Walk UVALive - 6038 BFS
- Grandpa's Walk UVALive - 6038
- UVALive 7334 Kernel Knights (dfs)
- UVALive 6957 Hyacinth (DFS) -- 解题报告
- [dfs] UVALive 3667 Ruler
- The queue uvalive 5002 light 1382 uva 12257 (dfs加组合数学)
- uvalive 4998 Simple Encryption --DFS
- Uvalive 6259 Word equations dfs+dp
- uvalive 3667(dfs)
- UVALive 5116 Dividing Stones(dfs + 打表)
- UVAlive 3092 无根树->有根树 dfs
- [dfs] UVALive 3667 Ruler
- UVaLive 6625 Diagrams & Tableaux (状压DP 或者 DFS暴力)
- UVALive 5025 Arranging Your Team dfs
- DFS染色解决区域分块问题UVALive 6663
- UVALive 5107 dfs暴力搜索
- UVALive 6663 Count the Regions (离散化,染色,dfs)
- UVALive 4126 (LA 4126) Password Suspects AC自动机 + DP + 剪枝dfs
- UVALive 5794 (UVA 12361) File Retrieval 后缀数组 + 分治dfs