关于for循环的问题
查看原帖
关于for循环的问题
446131
z1462478610楼主2021/8/5 17:13
#include<cstdio>
#include<iostream>
using namespace std;
long long n,a[202],f[202][202],ans;
int main(){
cin>>n;for(int i=1;i<=n;i++)cin>>a[i],a[i+n]=a[i];
for(int j=2;j<2*n;j++)
////for(int i=1;i<j;i++)
//for(int i=j-1;i>=1;i--)
for(int k=i;k<j;k++)
f[i][j]=max(f[i][j],a[i]*a[k+1]*a[j+1]+f[i][k]+f[k+1][j]);
for(int i=1;i<=n;i++)ans=max(ans,f[i][i+n-1]);
cout<<ans;
} 

这是程序,中间斜杠是我的问题,我写的是4个斜杠的那个for,只能拿1个点。 实在搞不懂了翻了下题解,发现题解1跟我只有这里不一样,他写的是2个斜杠那个,我换了一下就过了,第二层循环从1到j-1和从j-1到1到底有什么不一样?为啥差距会这么大。

2021/8/5 17:13
加载中...