原题链接:蓝桥杯2014年第五届真题-分糖果
解题思路:
注意事项:
参考代码:
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner cin = new Scanner(System.in); int N = cin.nextInt(); int[] c = new int[N]; int[] cc = new int[N]; for(int i = 0; i < N; i++){ int num = cin.nextInt(); cc[i] = num; c[i] = num; } boolean flag = false; int sum = 0; while(!flag){ int contains = 0; flag = true; for(int i = 0; i<N; i++){ c[i] = c[i]/2; if(i!=0){ cc[i] = cc[i]/2 + c[i-1]; if(cc[i] % 2 != 0){ cc[i] += 1; sum+=1; } if(i==1){ contains=cc[i]; }else{ if(contains!=cc[i]){ flag = false; } } } } cc[0] = cc[0]/2 + c[N-1]; if(cc[0] % 2 !=0){ cc[0] += 1; sum+=1; } if(contains!=cc[0]){ flag = false; } System.arraycopy(cc,0,c,0,N); } System.out.println(sum); } }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复