首页 > 其他分享 >分糖果

分糖果

时间:2023-01-20 13:22:05浏览次数:42  
标签:arr scanner int split 小朋友 糖果

package com.smh.year2014;

import java.util.Scanner;

/**
 * @version 1.0
 * @auther 孙沐华
 * 分糖果
 */
public class test08 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();  //表示小朋友的人数
        scanner.nextLine();//nextLine 去掉整数后面的换行符  如果没有这一行下次扫描
                           // 的时候会带上前面的换行符 split方法会失效
        int[] arr = new int[N];
        String s = scanner.nextLine();
        String[] split = s.split(" ");
        for (int i=0;i< split.length;i++) {
             arr[i]=Integer.parseInt(split[i]);
        }
        f(N,arr);
        System.out.println(arr[1]);

    }
    public  static void f(int N,int[] arr ){
        boolean loop;
        loop=check(arr);
        while (loop){
            int[] temp=new int[N];
            for (int i = 0; i <N ; i++) {
                if (arr[i]%2==1){
                    arr[i]+=1;
                }
                arr[i]=arr[i]/2;
            }
            for (int i = 0; i <N ; i++) {
                temp[i]=arr[i];
            }
            for (int i = 0; i < N-1; i++) {
                arr[i]=arr[i]+temp[i+1];
            }
            arr[N-1]=arr[N-1]+temp[0];
            loop=check(arr);
        }
    }
    public static boolean check(int[] arr){
        int temp=arr[0];
        for (int i = 1; i < arr.length ; i++) {
            if (arr[i]!=temp){
                return true;
            }
        }
        return false;
    }
}

 

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:

每个小朋友都把自己的糖果分一半给左手边的孩子。

一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。

反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

【格式要求】

程序首先读入一个整数N(2<N<100),表示小朋友的人数。
接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
要求程序输出一个整数,表示老师需要补发的糖果数。

例如:输入
3
2 2 4
程序应该输出:
4


思路分析: 我们首先要把糖果分成两份 然后将其中的一份分给自己的右手边的人 我们可以将其中一份让temp数组保存 另一部分让自己保存 然后跟去题意的逻辑去操作

 

标签:arr,scanner,int,split,小朋友,糖果
From: https://www.cnblogs.com/xingxingbclg/p/17062695.html

相关文章

  • P3275 [SCOI2011]糖果 差分约束+最短路
    //题意:给定一些限制条件,询问满足条件的任一正数解是什么。(详细题意搜原题)//思路:本题有几个额外信息很关键//最大人数1e5,连出去的边只有0和-1//如果我们......
  • LeetCode刷题(79)~分糖果【哈希】
    题目描述给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的......
  • NC20284 [SCOI2011]糖果
    题目链接题目题目描述幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明......
  • leetcode-575. 分糖果
    575.分糖果-力扣(Leetcode)信息:糖果的种类总个数吃一半分析:种类大于一半,那么只能吃一半种类小于一半,那么是种类量考哈希表,有点简单,熟悉Go语法还行funcdistr......
  • [JZOJ5229] 小奇的糖果
    Description有N个彩色糖果在平面上。小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果。求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色。对......
  • AcWing1169. 糖果
    题目描述幼儿园里有\(N\)个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到......
  • 刷题笔记——3005.糖果游戏
    题目3005.糖果游戏代码li=list(map(int,input().strip().split()))lenth=len(li)foriinrange(lenth):#设置当前位置的左右位置ifi>0andi......
  • LeetCode 135.分发糖果
    LeetCode 135.分发糖果题目地址:​​https://leetcode-cn.com/problems/candy/​​题目描述:老师想给孩子们分发糖果,有N个孩子站成了一条直线,老师会根据每个孩子的表现,预......
  • 搜集糖果
     搜集糖果(candy)【题目描述】在一片N*M的四连通(一个点与它上方、下方、左方、右方这四个点连通)田野中,散布着很多很多的糖果。Ryz现在要以(x,y)为起点去搜集糖果。Ryz搜......
  • 题解 LGP7909 【[CSP-J 2021] 分糖果】
    postedon2021-10-2322:52:47|under题解|source分类讨论。一句话题意:求\(\max\limits_{i=l}^{r}\{i\bmodn\}\)首先画个数轴,按除以\(n\)向下取整的商把这些整......