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;
    }
    
  • 相关阅读:
    转: React系统的入门系统
    转: Android官方培训课程中文版(v0.9.5)
    释放Linux系统缓存
    Hyperledger Fabric1.0环境搭建
    JS中的call、apply、bind
    资产和负债
    JS以指定格式获取当前日期
    apache2.4配置ssl
    Apache2.4整合tomcat8
    使用JDK将tomcat变成https访问
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308978.html
Copyright © 2011-2022 走看看