记录编号 12419 评测结果 AAAAAAAAAA
题目名称 [IOI 1994] 数塔 最终得分 100
用户昵称 Gravataryanzheng 是否通过 通过
代码语言 C 运行时间 0.007 s
提交时间 2009-09-11 17:42:34 内存使用 0.31 MiB
显示代码纯文本
#include <stdio.h>

int f[82][82]={0};
int g[82][82]={0};
int path[82][82]={0};

int main()
{
    FILE *in,*out;
    in=fopen("shuta.in","r");
    out=fopen("shuta.out","w");
    int i,j,k,n;

    fscanf(in,"%d",&n);
    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
            fscanf(in,"%d",&g[i][j]);

    for(i=n;i>0;i--)
    {
        for(j=1;j<=i;j++)
        {
            if(f[i+1][j]>f[i+1][j+1])
            {
                f[i][j]=f[i+1][j]+g[i][j];
                path[i][j]=0;
            }
            else
            {
                f[i][j]=f[i+1][j+1]+g[i][j];
                path[i][j]=1;
            }
        }
    }

    fprintf(out,"%d\n",f[1][1]);

    j=1;
    for(i=1;i<=n;i++)
    {
        fprintf(out,"%d ",g[i][j]);
        j+=path[i][j];
    }

    return 0;
}