2 条题解

  • 0
    @ 2025-12-14 09:30:08

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

  • 0
    @ 2025-12-14 09:29:44

    #include<bits/stdc++.h>
    using namespace std;
    int n,a[25][25],ans;
    void dfs(int dep,int x,int y,int sum)
    {
    if(dep==n+1)
    {
    ans=max(ans,sum);
    return;
    }
    dfs(dep+1,x+1,y,sum+a[x+1][y]);
    dfs(dep+1,x+1,y+1,sum+a[x+1][y+1]);
    }
    int main()
    {
    cin>>n;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=i;j++)
    cin>>a[i][j];
    dfs(1,0,0,0);
    cout<<ans;
    return 0;
    }

  • 1

信息

ID
1613
难度
5
分类
(无)
标签
递交数
60
已通过
21
通过率
35%
被复制
5
上传者