1034 Candy Sharing Game
蓝桥杯没有自己满意的奖 继续加油 往前看 加油 加油加油
这道题不难 主要是每个人都是同时传给隔壁的人 所以 用一个temp该位置要传给下一位多少个糖果 temp2 是上一位传给现在位置有多少个糖果 依次类推 直到所有值相同跳出循环 输出值
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int num = 0;
boolean flag = false;
int n = sc.nextInt();
int m = n;
if (n != 0) {
int arr[] = new int[n];
// 把所有的都存进去 因为是同时交互的 原地变即可
while (m-- > 0)
arr[m] = sc.nextInt();
while (!flag) {
int t = arr[0];
int i = 0;
// 先遍历一遍看是不是所有的值都是相等的
for (; i < n; i++) {
if (arr[i] != t) {
num++;
break;
}
}
if (i == n)
flag = true;
else if (i != n) {
int temp = arr[n - 1] / 2;
int temp2;
for (int x = 0; x < n; x++) {
temp2 = arr[x] / 2;
arr[x] = arr[x] / 2 + temp;
temp = temp2;
if (arr[x] % 2 != 0)
arr[x]++;
}
}
}System.out.println(num + " " + arr[0]);
}
}
}
}