天天看点

蓝桥杯--分糖果

1.题目

蓝桥杯--分糖果

2.越来越发现 这种题一定动笔写一写

3.代码

import java.util.Scanner;

public class J155 {
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		int n=scan.nextInt();
		int [] a=new int[n];
		int [] b=new int [n];
		int c=0;
		int d=0;
		for(int i=0;i<n;i++) {
			a[i]=scan.nextInt();
		}
		while(d!=n-1) {
		d=0;//每进行一次 d的值就变化
		for(int i=0;i<n;i++) {
			b[i]=a[i]/2;//减少
			a[i]=a[i]-b[i];//分给别人自己就对应减少
			}
		for(int i=1;i<=n-1;i++) {
			a[i]=a[i]+b[i-1];//表示第i个同学分得到i-1的糖果
		}
		a[0]=a[0]+b[n-1];//是一个圈 头和尾对应
		for(int i=0;i<n;i++) {
			if(a[i]%2!=0) {//奇数
				a[i]++;//老师分一个
				c++;
			}
		}
		for(int i=1;i<=n-1;i++) {
			if(a[i]==a[i-1]) {
				d++;//如果全部相等 个数肯定是n-1 因为两者比较 所以个数n-1
			}
		}	
	}
		System.out.println(c);
	}
}
           

继续阅读