P10988 求条
  • 板块学术版
  • 楼主RAY091016
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/11 15:53
  • 上次更新2024/12/11 19:07:19
查看原帖
P10988 求条
772875
RAY091016楼主2024/12/11 15:53

代码如下,样例可过

#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;
}
2024/12/11 15:53
加载中...