hdu1176 免费馅饼(塔形)

来源:互联网 发布:如何面试淘宝运营 编辑:程序博客网 时间:2024/06/09 19:37

http://acm.hdu.edu.cn/showproblem.php?pid=1176

#include<iostream>#include<iomanip>using namespace std;int s[100003][11],n,sum;int Max(int a,int b,int c){    if(a<b)a=b;    if(a<c)a=c;    return a;}void dp(){    int i,j;    for(i=sum;i>0;i--)    {        for(j=0;j<=10;j++)        {            if(j==0)s[i-1][j]+=Max(0,s[i][j],s[i][j+1]);            else if(j==10)s[i-1][j]+=Max(s[i][j-1],s[i][j],0);            else s[i-1][j]+=Max(s[i][j-1],s[i][j],s[i][j+1]);        }    }    printf("%d\n",s[0][5]);}int main(){    int i,a,b;    while(scanf("%d",&n))    {        sum=0;        if(n==0)break;        fill(&s[0][0],&s[100002][11]+1,0);        for(i=0;i<n;i++)        {            scanf("%d%d",&a,&b);            s[b][a]++;            if(sum<b)sum=b;        }        dp();    }    return 0;}


0 0
原创粉丝点击