EnochWenzhou @ 2019-03-14 23:40:16
#include<bits/stdc++.h>
using namespace std;
int n,m,f[10010],ans;
struct ski{
int val,x,y;
}a[10010];
bool cmp(ski p,ski q){
return p.val<q.val;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[(i-1)*n+j].val),
a[(i-1)*n+j].x=i,
a[(i-1)*n+j].y=j;
sort(a+1,a+1+n*m,cmp);
for(int i=1;i<=n*m;i++){
for(int j=1;j<i;j++){
if((a[j].x==a[i].x && (a[j].y==a[i].y+1 || a[j].y==a[i].y-1)) ||
(a[j].y==a[i].y && (a[j].x==a[i].x+1 || a[j].x==a[i].x-1)))
f[i]=max(f[i],f[j]+1);
}
ans=max(ans,f[i]);
}
cout<<ans+1;
}
by 无形的狗子 @ 2019-07-16 11:36:04
你好呀,我也是40分。 想要测试点......