NYOJ 10 skiing 【搜索】
2012-03-07 15:22
239 查看
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=10
这个题刚开始一点思路也没有,知道又是让人蛋疼的搜索,就是不知道该怎么搜。。表示很无奈。。。最好在教室上晚自习时去问问大兵。。终于有点眉目了。。于是昨天晚自习不上了,回来ac这个题。。一直a到10点 ,还没a上。⊙﹏⊙。。今天上午继续ac,最后才发现有个地方 初始化时候 搞错了。导致结果一直不对。浪费了我这么多的时间。让我情何以堪。。。( ⊙ o ⊙ )。。
这个题刚开始一点思路也没有,知道又是让人蛋疼的搜索,就是不知道该怎么搜。。表示很无奈。。。最好在教室上晚自习时去问问大兵。。终于有点眉目了。。于是昨天晚自习不上了,回来ac这个题。。一直a到10点 ,还没a上。⊙﹏⊙。。今天上午继续ac,最后才发现有个地方 初始化时候 搞错了。导致结果一直不对。浪费了我这么多的时间。让我情何以堪。。。( ⊙ o ⊙ )。。
#include<stdio.h> #include<string.h> #include<queue> using namespace std; int n,m; int ok[110][110]; int i[]={0,0,1,-1},j[]={1,-1,0,0}; struct sb { int x,y; int step; }; int bfs(int x1,int y1) { int a,b,c,d; queue<sb>q; sb yi={x1,y1,1}; q.push(yi); while(!q.empty()) { yi=q.front(); q.pop(); for(a=0;a<4;a++) { c=yi.x+i[a];//就是这里。。。以后要认真一点呀。。 d=yi.y+j[a]; if(ok[c][d]>0&&ok[c][d]<ok[yi.x][yi.y]) { sb yi1={c,d,yi.step+1}; q.push(yi1); } } } return yi.step; } int main() { int a,b,k,max,min; scanf("%d",&k); while(k--) { max=0; scanf("%d%d",&n,&m); memset(ok,-1,sizeof(ok)); for(a=1;a<=n;a++) for(b=1;b<=m;b++) scanf("%d",&ok[a][b]); for(a=1;a<=n;a++) for(b=1;b<=m;b++) { min=bfs(a,b); if(max<min) max=min; } printf("%d\n",max); } }
相关文章推荐
- skiing (NYOJ 10) [动态规划+搜索]
- POJ-1088滑雪,典型的动态规划题,与NYOJ-10skiing一样,但NYOJ上时限是3s,用搜索可以过,但在POJ上就超时了~~
- 【DFS+记忆搜索】NYOJ-10-Skiing
- nyoj 10 skiing 搜索+动归
- nyoj 10 skiing
- NYOJ 10 skiing
- nyoj 10 skiing(记忆化搜索)
- (NYoj 10)skiing - 动态规划+记忆化搜索
- NYOJ 10 skiing
- NYOJ 10 skiing(好题)
- nyoj10 skiing
- NYOJ 10 skiing
- NYOJ_10_skiing【记忆化搜索】
- NYOJ 10 skiing(记忆化搜索)
- skiing(nyoj_10)
- NYOJ 10 滑雪 动规加搜索
- Nyoj 10 skiing Java实现
- NYOJ10——skiing
- nyoj-10-skiing
- NYOJ10,skiing