我想睡觉


私信TA

用户名:beiqian

访问量:4707

签 名:

等  级
排  名 1684
经  验 2707
参赛次数 0
文章发表 18
年  龄 0
在职情况 学生
学  校 武汉理工大学
专  业

  自我简介:

参考代码:

#include <stdio.h>
#include <string.h>

int isSame(int *s, int N)
{
    int jug = 1;
    for (int i = 0; i < N - 1; ++i)
    {
        if (s[i] != s[i + 1])
        {
            jug = 0;
            break;
        }
    }
    return jug;
}

void give2L(int *s, int N)
{
    int temp = s[0];
    for (int i = 0; i < N - 1; ++i)
    {
        s[i] /= 2;
        s[i] += s[i + 1] / 2;
    }
    s[N - 1] /= 2;
    s[N - 1] += temp / 2;
}

int main(void)
{
    int N, cnt = 0;
    scanf("%d", &N);
    int s[N];
    //input
    for (int i = 0; i < N; ++i)
        scanf("%d", &s[i]);
    //process
    while (!isSame(s, N))
    {
        give2L(s, N);
        for (int i = 0; i < N; ++i)
        {
            if (s[i] % 2)
            {
                s[i] += 1;
                cnt++;
            }
        }
    }
    printf("%d", cnt);
    return 0;
}


 

0.0分

2 人评分

  评论区

  • «
  • »