201909-1 小明种苹果
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main(int argc, char** argv) {
int n,m;
cin>>n>>m;
int sum1=0;
int sum2=0;
int max=0;
int index=0;
int temp,count=0;
for(int i=0;i<n;i++){
count=0;
for(int j=0;j<=m;j++){
cin>>temp;
if(j==0) sum1+=temp;
else{
sum2+=abs(temp);
count+=abs(temp);
}
}
if(count>max){
max=count;
index=i+1;
}
}
cout<<sum1-sum2<<" "<<index<<" "<<max;
return 0;
}
201909-2 小明种苹果(续)
注意刚开始一棵树每次统计不符合d++就会造成d重复,应该是看一棵树有无出现这种情况,只加一次
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int m;
int t=0,d=0,e=0;
int temp=0,sum=0;
int a[n+2]={0};
for(int i=1;i<=n;i++){
cin>>m;
for(int j=0;j<m;j++){
cin>>temp;
if(temp>0){
if(j!=0&&sum!=temp){
a[i]=1;
}
sum=temp;
}else{
sum+=temp;
}
}
if(a[i]==1) d++;
t+=sum;
}
a[0]=a[n];
a[n+1]=a[1];
for(int i=1;i<=n;i++){
if(a[i-1]==1&&a[i]==1&&a[i+1]==1) e++;
}
cout<<t<<" "<<d<<" "<<e;
return 0;
}