CCF201909-1小明种苹果

主宰稳场 提交于 2020-02-09 22:54:59

 

解题思路:定义一个二维数组来存放输入的信息,第一列用来存放所有果树的初始值,然后遍历数组。具体思路见代码注释。

第一遍提交得了80分,看了半天才明白了原因,快被自己蠢死......

定义数组应该为a[1000][1001],第一遍没有思考直接看了问题规模就定义成了a[1000][1000]。

有一列是专门用来放初始的果子数的呀啊喂.........

#include<iostream>
#include<cmath>
using namespace std;
int a[1000][1001];
int main() {
    int m, n;  //n为苹果棵树,m为疏果轮数
    cin >> n >> m;
    int totalnum = 0;   //所有果树的总果子数
    int sumshu = 0;    //每棵树总的疏果数
    int max_shuguo = 0;  //最大数的疏果数
    int max_s = 1;      //最大疏果树的编号
    for (int i = 0; i < n; i++) {
        sumshu = 0;
        for (int j = 0; j <= m; j++) {
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++) {
        sumshu = 0;
        for (int j = 1; j <= m; j++) {
            a[i][0] = a[i][0] + a[i][j];//计算疏果完成后每棵果树剩多少果子
            sumshu += abs(a[i][j]);//没棵果树的总共疏果量
            //计算最大疏果量的数
            if (sumshu > max_shuguo) {
                max_shuguo = sumshu;
                max_s = i + 1;
            }
        }
        totalnum += a[i][0];//所有果树最后加起来的剩余量
    }
    cout << totalnum << " " << max_s << " " << max_shuguo << endl;
    system("pause");
    return 0;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!