201909-1 小明种苹果
一、题目描述
二、代码实现
#include<iostream>
#include<bits/stdc++.h>
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<iostream>
#include<bits/stdc++.h>
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历年认证考试真题解答汇总