# 1WA2LTE

P1434 [SHOI2002] 滑雪

txwd6666 @ 2021-12-28 09:57:03

求求大佬指正,代码通俗易懂1. ```

include "bits/stdc++.h"

using namespace std; int f[105][105],m,n,sum,ans=0; void dfs(int a,int b,int c) {int ok=0,okk=0,okkk=0; if(f[a-1][b]>f[a][b]&&(a-1)>=1&&(a-1)<=m&&b>=1&&b<=n) {c++; dfs(a-1,b,c); ok=1; } else {ans=max(ans,c); } if(f[a+1][b]>f[a][b]&&(a+1)>=1&&(a+1)<=m&&b>=1&&b<=n) {c++; if(ok) c--; okk=1; dfs(a+1,b,c); } else {ans=max(ans,c); } if(f[a][b+1]>f[a][b]&&(a)>=1&&(a)<=m&&(b+1)>=1&&(b+1)<=n) {c++; if(ok) c--; if(okk) c--; okkk=1; dfs(a,b+1,c); } else {ans=max(ans,c); } if(f[a][b-1]>f[a][b]&&(a)>=1&&(a)<=m&&(b-1)>=1&&(b-1)<=n) {c++; if(ok) c--; if(okk) c--; if(okkk) c--; dfs(a,b-1,c); } else {ans=max(ans,c); } return; } int main() {cin>>m>>n; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) cin>>f[i][j]; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) dfs(i,j,1); cout<<ans; return 0; }



#include "bits/stdc++.h"
using namespace std;
int f[105][105],m,n,sum,ans=0;
void dfs(int a,int b,int c)
{int ok=0,okk=0,okkk=0;
if(f[a-1][b]>f[a][b]&&(a-1)>=1&&(a-1)<=m&&b>=1&&b<=n) 
{c++;
dfs(a-1,b,c);
ok=1;
}
else
{ans=max(ans,c);
}
if(f[a+1][b]>f[a][b]&&(a+1)>=1&&(a+1)<=m&&b>=1&&b<=n) 
{c++;
if(ok) c--;
okk=1;
dfs(a+1,b,c);
}
else
{ans=max(ans,c);
}
if(f[a][b+1]>f[a][b]&&(a)>=1&&(a)<=m&&(b+1)>=1&&(b+1)<=n) 
{c++;
if(ok) c--;
if(okk) c--;
okkk=1;
dfs(a,b+1,c);
}
else
{ans=max(ans,c);
}
if(f[a][b-1]>f[a][b]&&(a)>=1&&(a)<=m&&(b-1)>=1&&(b-1)<=n) 
{c++; 
if(ok) c--;
if(okk) c--;
if(okkk) c--;
dfs(a,b-1,c);
}
else
{ans=max(ans,c);
}
return;
}
int main()
{cin>>m>>n;
   for(int i=1;i<=m;i++)
   for(int j=1;j<=n;j++)
   cin>>f[i][j];
   for(int i=1;i<=m;i++)
   for(int j=1;j<=n;j++) 
   dfs(i,j,1);
   cout<<ans;
    return 0;
}

by OldVagrant @ 2021-12-28 09:59:12

希丰展?使md


by 幽灵特工 @ 2021-12-28 10:01:31

希丰展?使md

《通俗易懂》


by txwd6666 @ 2021-12-28 16:33:20

@幽灵特工 ??//?????广搜啊,种子填充高级版


by 幽灵特工 @ 2021-12-28 17:03:27

@txwd6666 谁看不出来这是广搜?您这代码块也太拉了

希望更丰富的展现?使用Markdown


by txwd6666 @ 2021-12-29 08:54:00

@幽灵特工 害,尽力改善中,代码风格太差了,哈哈哈哈哈哈哈


|