TYVJ 1004 滑雪 by C++

 1 #include<iostream>
 2 using namespace std;
 3 const int maxn=100,maxm=100;
 4 const int dirx[4]={0,0,1,-1};
 5 const int diry[4]={1,-1,0,0};
 6 int n,m,maxx=0;
 7 int a[maxn][maxm],dis[maxn][maxm]={0};
 8 
 9 void get_input()
10 {
11     cin >> n >> m;
12     for (int i=0;i<n;i++){
13         for (int j=0;j<m;j++) cin >> a[i][j];
14     }
15 }
16 void dfs(int x,int y,int depth)
17 {
18     int nowdepth=depth;
19     if ((++nowdepth)>dis[x][y]){ 
20         dis[x][y]=nowdepth;
21         if (dis[x][y]>maxx) maxx=dis[x][y];
22     }
23     else return;
24     int nowx,nowy;
25     for (int i=0;i<4;i++){
26         nowx=x+dirx[i];nowy=y+diry[i];
27         if (nowx<0 || nowx>=n || nowy<0 || nowy>=m) continue;
28         if (a[nowx][nowy] <= a[x][y])continue;  
29         dfs(nowx,nowy,nowdepth);
30     }
31 }
32 int main()
33 {
34     get_input();
35     for (int i=0;i<n;i++){
36         for (int j=0;j<m;j++) if (dis[i][j]==0)dfs(i,j,0);
37     }
38     cout << maxx << endl;
39     return 0;
40 }

第一次用visual studio 2010写cpp文件,调试了半天原来调试的不是这个程序,我说输出怎么不合规范。。。

posted @ 2012-07-04 17:41  NoRush  阅读(1082)  评论(0编辑  收藏  举报