将多行求和转换为普通最长子序列
#include <iostream>#include<algorithm>using namespace std;int main() {    int n,a[100][100],b[100]={0,},d[100]={0,},m;    cin>>n;    for(int i=0;i<n;i++)    {        for(int j=0;j<n;j++)        {            cin>>a[i][j];        }    }    for(int i=0;i<n;i++)    {        b[i]=0;    }    m=a[0][0];    for(int i=1;i<n+1;i++)    {        for(int j=0,length=i;j+length-1<n;j++)        {            for(int f=0;f<n;f++)            {            for(int k=0;k<length;k++)            {                b[f]+=a[j+k][f];            }            if(f==0)            {                d[0]=b[f];            }            if(f>0)            {                d[f]=max(b[f],d[f-1]+b[f]);                m=max(m,d[f]);            }            b[f]=0;            }        }    }    cout<<m;}// 64 位输出请用 printf("%lld")
点赞 0
评论 1
全部评论

相关推荐

昨天 16:52
已编辑
门头沟学院 Java
周五投的,流程今天结束
投递地平线等公司7个岗位
点赞 评论 收藏
分享
吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务