201909-1 小明种苹果
一、题目描述
#include #include using namespace std; int main() { int n,m,a0,a1; cin>>n>>m; long long sum = 0; int max_sg = 0; int max_id = 0; for(int i=0;i<n;i++) { cin>>a0; sum += a0; int temp = 0; for(int j=0;j<m;j++) { cin>>a1; temp -= a1; } sum -= temp; if(temp>max_sg) { max_sg = temp; max_id = i+1; } } cout<<sum<<" "<<max_id<<" "<<max_sg; return 0; }
201909-2 小明种苹果(续)
一、题目描述
#include #include using namespace std; //结构体构造每一棵树 struct Tree{ long long num; bool sg; }; int main() { int n,m; cin>>n; Tree tree[n]; //初始化结构体 for(int i=0;i<n;i++) { tree[i].num = 0; tree[i].sg = false; } for(int i=0;i<n;i++) { cin>>m; long long a; for(int j=0;j<m;j++) { cin>>a; //第一个输入永远大于0,为每棵树的苹果数初值 if(j==0) tree[i].num = a; else { //小于0说明疏果 if(a<=0) tree[i].num += a; //大于0则需要判断是否存在果实掉落 else { if(tree[i].num > a) tree[i].sg = true; tree[i].num = a; } } } } long long sum = 0; int sg_count = 0; int sg_3 = 0; for(int i=0;i<n;i++) { sum += tree[i].num; if(tree[i].sg) sg_count++; //通过i,(i+1)%n,(i+2)%n判断是否存在相邻三棵苹果树出现果实掉落的现象 if(tree[i].sg && tree[(i+1)%n].sg && tree[(i+2)%n].sg) sg_3++; } cout<<sum<<" "<<sg_count<<" "<<sg_3; return 0; }
更多CCFCSP认证真题详解,请点击>>CCFCSP历年认证考试真题解答汇总
