zoukankan      html  css  js  c++  java
  • CCF CSP 201909-2 小明种苹果(续)

    题目:

    试题编号: 201909-2
    试题名称: 小明种苹果(续)
    时间限制: 1.0s
    内存限制: 512.0MB

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    思路:

    1.用一个数组drop[1001]记录每棵树是否掉苹果;
    2.在遍历每颗树时,用变量记录当前苹果个数,如果遍历到正数,则比较它和变量中值的大小,如果不相等,则说明掉了苹果,修改当前变量值,并修改数组中的标记;
    3.每遍历完一棵树,加上这棵树最后的苹果个数,最后可以得到最终的苹果个数;
    4.最后遍历记录是否掉苹果的数组drop,i从编号1到n。如果drop[i]==true,则这颗树存在掉落;如果drop[i]&&drop[(i+1)%n]&&drop[(i+2)%n]==true,则存在一组相邻连续三棵树发生掉落;

    代码:

    #include<iostream>
    using namespace std;
    int drop[1001];
    int n,total=0,sum=0,cnt=0;
    int f(const int &a){
    	return a<=n?a:(a-n);
    }
    int main(){	
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++){
    		int m,num,a;
    		scanf("%d%d",&m,&num);
    		for(int j=1;j<m;j++){
    			scanf("%d",&a);
    			if(a<=0) num+=a;
    			else if(num!=a){
    				drop[i]=1;
    				num=a;
    			}
    		}
    		total+=num;
    	}
    	for(int i=1;i<=n;i++){
    		sum+=drop[i];
    		if(drop[i]&&drop[f(i+1)]&&drop[f(i+2)]) cnt++;
    	}
    	printf("%d %d %d",total,sum,cnt);
    	return 0;
    }
    
  • 相关阅读:
    从头认识java-2.6 逗号操作符
    JavaScript基础知识
    特性选择器
    文本缩进
    如何使图片与导航栏对齐
    如何使用CSS选择器应用于子元素
    图像
    布局
    列表,表格和表单
    盒子
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308978.html
Copyright © 2011-2022 走看看