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文件,调试了半天原来调试的不是这个程序,我说输出怎么不合规范。。。