hdu 1081 To The Max

来源:互联网 发布:反淘宝联盟事件 编辑:程序博客网 时间:2024/05/16 01:55

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081

思路:这是一个在矩阵中求它所有子矩阵和的最大的那一个,感觉有点暴力的思想

#include<stdio.h>#include<string.h>#define size 105int main(){    int n,i,j,k,t,max;    int num[size][size];    while(scanf("%d",&n)!=EOF)    {        int sum=0;        memset(num,0,sizeof(num));        for(i=1;i<=n;i++)        {            for(j=1;j<=n;j++)            {                scanf("%d",&t);                num[i][j]=num[i][j-1]+t;            }        }        max=-9999;        for(i=1;i<=n;i++)//对每一行的起始列进行控制        {            for(j=i;j<=n;j++)//对行的终点列进行控制            {                sum=0;                for(k=1;k<=n;k++)//对终点行进行控制                {                    if(sum<0)                    {                        sum=0;                    }                    sum+=num[k][j]-num[k][i-1];                    if(max<sum)                    {                        max=sum;                    }                }            }        }        printf("%d\n",max);    }    return 0;}


0 0
原创粉丝点击