奇奇怪怪的代码
查看原帖
奇奇怪怪的代码
1348760
niumiaoling楼主2025/1/19 15:07

代码这样改就过了? 前期如下

#include<bits/stdc++.h>
using namespace std;
int n,dp[1001][1001],a[1001]; 
int main()
{
	cin>>n;
	for(int i=1;i<n;i++){
		for(int j=i+1;j<=n;j++)
		cin>>dp[i][j];
		a[i]=1e8;
	}
	for(int i=1;i<=n;i++)
        a[i]=dp[1][i];
    for(int i=2;i<=n;i++){
    	for(int j=2;j<=i;j++)
    	    a[i] = min(a[i],a[j-1]+dp[j-1][i]);
	}
	cout<<a[n];
	return 0;
}

改后

#include<bits/stdc++.h>
using namespace std;
int n,dp[1001][1001],a[1001]; 
int main()
{
	cin>>n;
	for(int i=1;i<n;i++){
		for(int j=i+1;j<=n;j++)
		cin>>dp[i][j];
		a[n]=0;
	}
	for(int i=1;i<=n;i++)
        a[i]=dp[1][i];
    for(int i=2;i<=n;i++){
    	for(int j=2;j<=i;j++)
    	    a[i] = min(a[i],a[j-1]+dp[j-1][i]);
	}
	cout<<a[n];
	return 0;
}

直接AC了,但我懵懵的,哪位大佬指点一二。

2025/1/19 15:07
加载中...