代码如下样例可过
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,f[1010][1010],a[1010][1010];
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
memset(f,0x3f,sizeof f);
f[1][1]=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=j-1;k>=1;k--){
if(a[i][k]<=a[i][j]){
break;
}
else{
f[i][j]=min(f[i][j],f[i][k]+1);
}
}
f[i][j]=min(f[i][j],min(f[i-1][j]+1,f[i][j-1]+1));
}
}
cout<<f[n][n];
return 0;
}