码迷,mamicode.com
首页 > 其他好文 > 详细

ccf -201909-2

时间:2019-12-11 00:29:01      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:int   bsp   inf   lag   技术   ace   fine   eof   code   

技术图片

 

 

*主要注意的点是:要特判以n-1、n、1是否连续掉落(以n为中间);以及n、1、2是否连续掉落(以n为开头)

 1 #include <stdio.h>
 2 #define MAX 1005
 3 
 4 using namespace std;
 5 
 6 struct Node{
 7     int apple;
 8     bool flag;
 9 };
10 
11 
12 int main(){
13     Node tree[MAX];
14     int n,m,x;
15     int sum,count,three;
16     while(scanf("%d",&n)!=EOF){
17         sum=count=three=0;
18         for(int i=1;i<=n;i++){
19             tree[i].flag=false;
20             tree[i].apple=0;
21         }
22         for(int i=1;i<=n;i++){
23             scanf("%d",&m);
24             for(int j=1;j<=m;j++){
25             scanf("%d",&x);
26             if(j>1 && x>0 && x<=tree[i].apple){
27                 //count++;
28                 if(x<tree[i].apple)    tree[i].flag=true;
29                 tree[i].apple=x;
30             }    
31             else    tree[i].apple+=x;
32             }
33         }
34         for(int i=1;i<=n;i++){
35             sum+=tree[i].apple;
36             if(tree[i].flag)    count++;
37             if(i>=2 && i<=n-1 &&tree[i-1].flag && tree[i].flag && tree[i+1].flag)        //含有以n为结尾 
38                 three++;
39         }
40         //特判 
41         if(tree[n-1].flag && tree[n].flag && tree[1].flag)        //以n为中间 
42             three++;
43         if(tree[n].flag && tree[1].flag && tree[2].flag)        //以n为开头 
44             three++;
45         printf("%d %d %d\n",sum,count,three);
46         
47     }
48     return 0;
49 }

 

ccf -201909-2

标签:int   bsp   inf   lag   技术   ace   fine   eof   code   

原文地址:https://www.cnblogs.com/shiliuxinya/p/12019868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!