201909-1 小明种苹果
题目简述:
1.题目链接
2.题目大意:给出N棵苹果树,每棵苹果树进行M次疏果(剪掉不好的苹果)操作,求最终N棵苹果树剩下的苹果总数,疏果个数最多的苹果树的编号及其疏果个数
解题思路:
使用一个二维数组保存N*M次疏果的数量,使用一个一维数组保存每棵树疏果M次的总数量
参考代码:
#include <iostream>
#include <cmath>
using namespace std;
int s[1000][1000];
int main()
{
int n,m,t=0,k,p;
int sum[1000];
cin>>n>>m;
for(int i=0;i<n;i++)
{
sum[i]=0;
for(int j=0;j<=m;j++)
{
cin>>s[i][j];
t+=s[i][j];
sum[i]=sum[i]+s[i][j];
}
sum[i]=s[i][0]-sum[i];
}
int Max=sum[0];
k=1;
for(int i=1;i<n;i++)
{
if(sum[i]>Max)
{
Max=sum[i];
k=(i+1);
}
}
cout<<t<<" "<<k<<" "<<Max<<endl;
return 0;
}
注意事项
如果数组大小较大(大概10的六次方级别),则需要将其定义在主函数外面,否则会使程序异常退出。