最近在准备三月份的CSP认证考试,刷题练手,特把遇到的问题分享上来供大家学习交流,水平有限,多多海涵。
题目链接:
http://118.190.20.162/view.page?gpid=T94
#include "iostream"
using namespace std;
int main()
{
int Apple[100], Drop[100];//首先定义两个数组,Apple[1000]存储每棵树原有的苹果个数、Drop[1000]存储每棵树每次疏果的个数
int Num, Time, All, Max = 0, flag, n, Every;
cin >> Num >> Time;//输入果树个数、疏果次数
for (int i = 0; i < Num; i++)
{
Every = 0;
cin >> Apple[i];//输入每棵果树苹果个数
for (int j = 0; j < Time; j++)
{
n = 0;
cin >> n;
Every += n;//每棵果树的疏果总个数
}
Drop[i] = Every;//存入Drop数组
if (Every < Max)//找到疏果个数最大果树的编号,即对应数组下标
{
Max = Every;
flag = i;
}
All += Apple[i] + Drop[i];//苹果总数求和
}
int a = -Drop[flag];
cout << All << ' ' << flag + 1 << ' ' << a << endl;
return 0;
}
题目思路比较简单,提交代码后却只有80分,参考博客:https://blog.csdn.net/qq_37665301/article/details/101373736后,知需将数组声明在主函数外为全局变量,更改后却还是只有90分。一点点查错修改,最后将数组长度更改为1000得到满分。未关注评测用例及规定,导致数组规模过小,使得出现错误。