一道动态规划初步题
  • 板块学术版
  • 楼主Granya
  • 当前回复11
  • 已保存回复11
  • 发布时间2021/10/10 21:13
  • 上次更新2023/11/4 04:07:02
查看原帖
一道动态规划初步题
518430
Granya楼主2021/10/10 21:13

这里!

在(2N-1)个单位时间内走完N*N路径,是不是只能向下和向右走?(不然就超过时间了)

我的理解是不是错的? 求大佬指点

0分代码QWQ

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[1000][1000];
int f[1000][1000];
int main()
{
	int n,maxn;
	cin>>n;
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	cin>>a[i][j];
	int next,z,t;
	int i=1,j=1;
	f[i][j]=1;
	while(1)
	{
		if(i==n&&j==n||i>n&&j>n){break;}
		if(i+1>n&&j+1<=n){f[i][j+1]=f[i][j]+a[i][j+1];j++;continue;}
		else
		if(i+1<=n&&j+1>n){f[i+1][j]=f[i][j]+a[i+1][j];i++;continue;}
		else
		if(min(a[i+1][j],a[i][j+1])==a[i+1][j]){f[i+1][j]=f[i][j]+a[i+1][j];i++;}
		else {f[i][j+1]=f[i][j]+a[i][j+1];j++;}
	}
	cout<<f[n][n];
	return 0;
}
2021/10/10 21:13
加载中...