首页 > 移动平台 > 详细

csp201909-2小明种苹果续

时间:2020-08-31 14:53:33      阅读:110      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

/*
定义输入N 二维数组
输出T总数 D掉落棵树 E掉落组数
定义last记录上次掉落的编号,flag=1表示两次连续掉落,不掉落归零
spec=1表示1 2都掉落了,spec=2表示只有1掉落
对每个i用for迭代,最后一个正数为T分量
将每行第二个数,与所有负数求和与最后一位正数比较,得出D分量
定义cut为疏果操作,drop为掉果
*/
#include <stdio.h>
static int arr[1000][1001];  //设置为静态防止溢出

int main()
{
    int N,T=0,D=0,E=0;
    int last=-2,flag=0,spec=0;
    int i,j;
    scanf("%d",&N);
    for(i=0;i < N;i++)
    {
        int drop=0,cut=0,t=0;
        scanf("%d",&arr[i][0]);
        for(j=1;j <= arr[i][0];j++)
        {
            scanf("%d",&arr[i][j]);
        }

        for(j=2;j <= arr[i][0];j++)
        {
            if(arr[i][j]<0)
                cut+=arr[i][j];
            if(arr[i][j]>0)
            {
                t = arr[i][j];
                drop = arr[i][1]+cut-t;
            }
        }
        T+=arr[i][1] - drop + cut;
        if(drop > 0)
        {
            D++;

            if(last==0 && i==1)
                spec = 1;
            else if(i==0)
                spec = 2;

            if(i == N-1 && last == N-2 && spec != 0)
                E++;
            if(flag == 1)
                E++;
            if(i == N-1 && spec == 1)
                E++;

            if(i-last==1)
                flag = 1;
            last = i;
        }
        else
            flag = 0;

    }
    printf("%d %d %d",T,D,E);

    return 0;
}

 通过测试

 技术分享图片

 

csp201909-2小明种苹果续

原文:https://www.cnblogs.com/lemon-567/p/13589076.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!