第一题
201909-1 小明种苹果
这题还是比较简单的,就是循环中统计
#include <iostream>
using namespace std;
int main()
{
int N,M;
int num,T=0,out,outT=0,K=0,P=0;
cin>>N>>M;
for(int i=0;i<N;i++){
cin>>num;
T=T+num;
outT=0;
for(int j=0;j<M;j++){
cin>>out;
T=T+out;
outT=outT-out;
}
if(outT>P) {
P=outT;
K=i+1;
}
}
cout<<T<<" "<<K<<" "<<P;
return 0;
}
第二题
201909-2 小明种苹果(续)
这里需要注意的是在计算相邻三个是否都有掉落的时候,是把苹果树排成圆的。
刚开始没注意这个问题,只AC出70分,稍作修改后变100
#include <iostream>
using namespace std;
int main(){
int N;
cin>>N;
int T=0,D=0,E=0,now,ope,mark[1000]={};
int M;
for(int i=0;i<N;i++){
cin>>M>>now;
int flag=0;
for(int j=1;j<M;j++){
cin>>ope;
if(ope<0) now=ope+now;
if(ope>0&&ope<now) {
flag=1;
now=ope;
}
}
if(flag==1) {
D++;
mark[i]=1;
}
T=T+now;
}
if(D<3) E=0;
else{
for(int i=0;i<N-2;i++){
if(mark[i]&&mark[i+1]&&mark[i+2]) E++;
}
if(mark[N-2]&&mark[N-1]&&mark[0]) E++;
if(mark[N-1]&&mark[0]&&mark[1]) E++;
}
cout<<T<<" "<<D<<" "<<E;
return 0;
}