牛客网在线编程:分苹果
题目描述:
n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。
输入描述:
每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 <= ai <= 100)。
输出描述:
输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出 -1。
示例1
输入
4
7 15 9 5
输出
3
思路:
数学问题,依次判断即可。首先输入的是n个奶牛,然后输入一行每个奶牛的苹果数。
计算所有奶牛拥有的苹果总数,平均数。总数不能整除奶牛数则返回-1
依次判断每个奶牛拥有的苹果是否大于平均数,大于的判断超出的值是否能整除2,不能则返回-1
能则将超出的数加起来,除以2即为需要转移的次数
1 import java.util.*; 2 public class Fenpingguo { 3 4 public static void main(String[] args) { 5 // TODO Auto-generated method stub 6 Scanner sc = new Scanner(System.in); 7 int n = sc.nextInt(); 8 int num = 0; 9 int[] ai = new int[100]; 10 for(int i = 0; i < n; i++){ 11 ai[i] = sc.nextInt(); 12 num+=ai[i]; 13 } 14 int x = num/n; 15 int key = 0; 16 int over = 0; 17 for(int i = 0; i < n; i++){ 18 if(ai[i]>x){ 19 over = ai[i]-x; 20 if(over%2!=0){ 21 System.out.println(-1); 22 return; 23 } 24 key+=ai[i]-x; 25 } 26 } 27 if(num%n!=0) System.out.println(-1); 28 //else if(key%2!=0) System.out.println(-1); 29 else { 30 System.out.println(key/2); 31 } 32 } 33 34 }
转载于:https://www.cnblogs.com/zlz099/p/8520901.html
牛客网在线编程:分苹果相关推荐
- 牛客网在线编程----算法入门篇
标题本篇博文主要是记录下自己的在线编程情况,初次练习,有的算法还待改进,大家有需要可以去牛客网上面多练练! 有需戳–>牛客网在线编程 NC65.题目描述 大家都知道斐波那契数列,现在要求输入一个 ...
- 《剑指Offer》面试题四(牛客网在线编程第一题):二维数组中的查找(Java实现)
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...
- 牛客网在线编程——二维数组中的查找
今天是第二次用牛客的在线编程,上次还是去年的七月一号,已然过去近一年的时间,遇到了不少坑,首先题目看错了,没看到数据是有序的,其次就是对二维数组的输入有些不解,是用户手动输入还是现成的,没有说清楚,最 ...
- 牛客网 在线编程 局部最小值位置
链接:https://www.nowcoder.com/questionTerminal/322eb1da892448f4b18d9b21a6d48c99 来源:牛客网 定义局部最小的概念.arr长度 ...
- Python:启程 数据分析-牛客网在线编程-中级函数12-23
DA12 牛客网不同语言使用人数 当时没有做出来,看答案发现有pandas 计数函数value_counts(),详解参考了以下博主的文章 python value_counts()的基础及进阶用法( ...
- 解决牛客网在线编程,本地编译结果正确,提交结果不正确问题!!!
代码提交后显示: 可我vs上编译的结果明明是对的啊: 经过网上一番查找,本地编译结果正确,提交结果不正确问题主要有两个原因: 1. 因为有多组测试用例,所以输入必须是必须是 while(cin> ...
- 牛客网在线编程专题《剑指offer-面试题28》字符串的排列
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容,分享 ...
- 牛客网在线编程全部题目
我的状态 题号 题目 知识点 难度 通过率 考察次数 NC1 大数加法 字符串 模拟 中等 43.92% 46 NC2 重排链表 链表 中等 25.94% 11 NC3 链表中环的入口结点 链表 哈希 ...
- 牛客网在线编程专题《剑指offer-面试题33》把数组排成最小的数
我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...
最新文章
- DL之FastR-CNN:Fast R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- 如何保证战略落地_战略如何规划落地?值得借鉴
- HALCON示例程序color_pieces.hdev通过MLP训练器对彩色棋子进行分类识别
- 运维管理工具-- Deploy Assistant
- Python3 爬虫学习笔记 C14【验证码对抗系列 — 点触验证码】
- 向Redis中存入JSON格式数据
- 阿里面试官:LongAdder和AtomicLong哪个性能更好?我有点懵~
- MOS管导通条件概述-过程-压降-提高效率等详解
- 计算机专业技术职务评审表怎么填,专业技术职务怎么填
- 「励志文章」清华学霸演讲:你可曾为学习拼尽全力?
- 数据处理之one-hot
- 照片恢复软件哪个好用?5个好用的照片恢复软件推荐
- HTML <b> 标签
- 【Axure视频教程】中继器表格——排序
- ESP8266 NodeMcu 连接onenet 保姆级教学
- 单片机原理及接口技术第一章
- android 手机支持什么格式的视频格式,手机高清小普及:手机支持那些视频格式?...
- 【微积分】算法数学基础之微积分
- 群晖保留数据换大硬盘DSM7.0保姆级教程
- html移动端隐藏div,bootstrap 如何设置移动端元素隐藏
热门文章
- [资源分享] 推荐两本电子书
- nginx php7 win,Win7配置Nginx+PHP7
- mysql 查询前10门课程_数据库面试题:如何查找每门课程的前3名?
- eclipse debug怎么用_利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)
- 课堂练习-水帖之王(水王)
- Redis在windows下安装过程
- xshell报编码问题时可以修改xshell编码
- activiti 设置可选处理人_新品速递|高端系列!慧明DF系列线性相位处理专业音箱处理器...
- linux 添加path环境变量中,在Linux里设置环境变量PATH的方法是什?
- Visual.Assist.X.V10.7.1946的汉化破解补丁