zoukankan      html  css  js  c++  java
  • 分苹果 网易2017测试工程师编程题

    题目:

    n只奶牛坐在一排,每个奶牛拥有ai只苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数相同,每一次你只能从一只奶牛身上拿走恰好两只苹果到另一只奶牛身上,问最少需要移动多少次可以评分拼过,如果方案不存在,输出-1。

    输入描述:

    每个输入包含一个测试用例,每个测试用例的第一行包含一个整数n(1<=n<=100),接下来的一行包括n个整数ai(1<=ai<=100)。

    输出描述:

    输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出-1。

    输出例子:

    4

    7 15 9 5

    输出例子:

    3

     1 #include <iostream>
     2 #include <vector>
     3 #include <algorithm>
     4 using namespace std;
     5 
     6 int sum(const vector<int> &v)
     7 {
     8     vector<int>::size_type n=v.size();
     9     int sum=0;
    10     for(int i=0;i<n;i++)
    11         sum+=v[i];
    12     return sum;
    13 }
    14 
    15 int count(const vector<int> &v, const int n)
    16 {
    17     if(sum(v)%n)
    18         return -1;
    19     else
    20     {
    21         int ave=sum(v)/n;
    22         int cnt=0;
    23         for(int i=0;i<n;i++)
    24         {
    25             if(abs(v[i]-ave)%2)
    26                 return -1;
    27             else
    28             {
    29                 cnt=cnt+abs(v[i]-ave)/2;
    30             }
    31         }
    32         return cnt/2;
    33     }
    34 }
    35 
    36 int main()
    37 {
    38     int n;//n为奶牛个数
    39     vector<int> v;
    40     cin>>n;
    41     for(int i=0;i<n;i++)
    42     {
    43         int temp;
    44         cin>>temp;
    45         v.push_back(temp);
    46     }
    47     cout<<count(v,n);
    48 }
  • 相关阅读:
    Mongodb 利用mongoshell进行数据类型转换
    利用Cordova开发移动应用程序
    mongodb Capped Collections 固定集合
    ubuntu desktop使用中遇到的问题
    php session 锁机制和基本安全设置
    mongodb update
    mongodb query
    mongodb Insert 、 remove 、操作原子性(atomicity)
    mongodb index(索引)
    mongodb笔记 getting started
  • 原文地址:https://www.cnblogs.com/hslzju/p/5742777.html
Copyright © 2011-2022 走看看