原题链接:蓝桥杯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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复