zoukankan      html  css  js  c++  java
  • 网易编程题——分苹果

    题目描述
    n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。
    输入描述:
    每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 <= ai <= 100)。
    输出描述:
    输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出 -1。
    示例1
    输入
    4
    7 15 9 5
    输出
    3

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    int main() {
        int n; 
        cin >> n;
        vector<int> nums;
        int total = 0;
        while (n--) {
            int tmp;
            cin >> tmp;
            total += tmp;
            nums.push_back(tmp);
        }
        int count = 0;
        // 不能均分
        if (total % nums.size() != 0) {
            cout << -1 << endl;
            return 0;
        }
        else {
            int average = total / nums.size();
            // 偶数 + 偶数(2) = 偶数
            if (average % 2 == 0) {
                for (int i : nums) {
                    if (i % 2 != 0) {
                        cout << -1 << endl;
                        return 0;
                    }
                }
            } else {
                // 奇数 + 偶数(2) = 奇数
                for (int i : nums) {
                    if (i % 2 == 0) {
                        cout << -1 << endl;
                        return 0;
                    }
                }
            }
            for (int i : nums) {
                if (i > average) {
                    count += ((i - average) / 2);
                }
            }
        }
        cout << count << endl;
        return 0;
    }
    

    我发现经常写算法,头脑就会保持比较清醒的状态,写起代码来,思路也比较清晰,敲键盘也比较灵活。
    写的多了,也就熟能生巧了,所以应该多写,多积累。

  • 相关阅读:
    hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map
    hdu6223 Infinite Fraction Path 2017沈阳区域赛G题 bfs加剪枝(好题)
    hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心
    hdu6441 Find Integer 求勾股数 费马大定理
    bzoj 1176 Mokia
    luogu 3415 祭坛
    bzoj 1010 玩具装箱
    bzoj 3312 No Change
    luogu 3383【模板】线性筛素数
    bzoj 1067 降雨量
  • 原文地址:https://www.cnblogs.com/zhonghuasong/p/7464712.html
Copyright © 2011-2022 走看看