蓝桥--分糖果[模拟]

Posted shuoed

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥--分糖果[模拟]相关的知识,希望对你有一定的参考价值。

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T124

题目大意:

  老师先给n个同学各分偶数个糖果,然后【同时】每个同学将他手中的一半分给左手边的同学。老师将手中为奇数个的同学加一个糖果使其为偶数个糖果。游戏继续进行,直到所有同学手中的糖果数相同。

解题思路:

  解题时傻*了,没有考虑到【同时】而是依次累积后再/2,耗时2个小时也是**。

  直接暴力模拟。

AC Code:

 1 #include<stdio.h>
 2 int arr[105],n;
 3 int check(const int n) {
 4     int i;
 5     for(i=1; i<n; i++)
 6         if(arr[0]!=arr[i])return 0;
 7     return 1;
 8 }
 9 int main() {
10     int need,j,tem;
11     while(scanf("%d",&n)!=EOF) {
12         need=0;
13         for(j=0; j<n; j++) {
14             scanf("%d",&arr[j]);
15         }
16 
17         while(!check(n)) {
18             tem=arr[0]/2;
19             for(j=0; j<n-1; j++) {
20                 arr[j]=arr[j]/2+arr[j+1]/2;
21                 if(arr[j]&1)need+=1,arr[j]+=1;
22             };
23             arr[n-1]=arr[n-1]/2+tem;
24             if(arr[n-1]&1)need+=1,arr[n-1]+=1;
25         }
26         printf("%d\n",need);
27     }
28     return 0;
29 }

 

以上是关于蓝桥--分糖果[模拟]的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1034(传递糖果 模拟)

历届试题 分糖果-(暴力+模拟)

清北学堂模拟赛d2t6 分糖果(candy)

[蓝桥杯][2019年第十届省赛真题] 糖果 (IDA*解决重复覆盖问题)

蓝桥杯每日一真题—— [蓝桥杯 2019 省 A] 糖果(状态压缩dp)

小学生蓝桥杯Python闯关 | 调整糖果罐糖果