LQ0049 有奖猜谜模拟

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0049 有奖猜谜模拟相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2016初赛 Java C组H题

题目描述
小明很喜欢猜谜语。最近,他被邀请参加了X星球的猜谜活动。
每位选手开始的时候都被发给777个电子币。
规则是:猜对了,手里的电子币数目翻倍,猜错了,扣除555个电子币, 扣完为止。
小明一共猜了15条谜语。战果为:vxvxvxvxvxvxvvx
其中v表示猜对了,x表示猜错了。请你计算一下,小明最后手里的电子币数目是多少。

输出格式
请填写表示最后电子币数目的数字。

问题分析
用模拟法来解决。
程序运行结果是58497。

AC的C语言程序如下:

/* LQ0049 有奖猜谜 */

#include <stdio.h>

int main()

    char s[] = "vxvxvxvxvxvxvvx";
    int sum = 777;
    for (int i = 0; s[i]; i++) 
        if (s[i] == 'v') sum *= 2;
        else 
            if ((sum -= 555) <= 0)
                sum = 0;
        
    
    printf("%d\\n", sum);

    return 0;

以上是关于LQ0049 有奖猜谜模拟的主要内容,如果未能解决你的问题,请参考以下文章

LQ0267 微生物增殖模拟

LQ0045 煤球数目迭代

LQ0021 奖券数目组合+枚举

LQ0222 买不到的数目DP+数学

LQ0137 双向排序模拟

LQ0224 翻硬币模拟