站外题求助
  • 板块灌水区
  • 楼主yunyu2
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/7/25 12:00
  • 上次更新2024/7/25 13:52:57
查看原帖
站外题求助
779912
yunyu2楼主2024/7/25 12:00

这个

代码

#include<bits/stdc++.h>
using namespace std;
int T, n, a[110][110], f[110][110];
int main()
{
    cin>>T;
    while (T--)
    {
        cin>>n;
        for (int i=1;i<=n;i++)
            for (int j=1;j<=i;j++)
                cin>>a[i][j];
        for (int i=1;i<=n;i++)
            f[n][i]=a[n][i];
        for (int i=n-1;i>=1;i--)
            for (int j=1;j<=i;j++)
                f[i][j]=max(f[i+1][j],f[i+1][j+1])+a[i][j];
        cout<< f[1][1];
    }
    return 0;
}

还有这个

代码

#include<bits/stdc++.h>
using namespace std;
const int oo=1000000;
int n,s[101],d[101],f[101],ans,maxAns;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	   cin>>s[i];
	maxAns=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++){
			int sj=i+j-1;
			if(sj>n)
			  sj-=n;
			d[j]=s[sj];
		}
		for(int i=1;i<=n;i++)
		    f[i]=1;
		    f[0]=0;
		    d[0]=-oo;
		    for(int i=1;i<=n;i++)
		       for(int j=0;j<i;j++)
		           if(d[j]<d[i]&&f[j]+1>f[i])
		              f[i]=f[j]+1;
		    ans=0;
		    for(int i=1;i<=n;i++)
		        ans=max(ans,f[i]);
		    if(ans>maxAns)
		       maxAns=ans;	
	}
	cout<<maxAns;
	return 0;
 } 

那位Dalao能帮帮我~

2024/7/25 12:00
加载中...