1071 小赌怡情(JAVA)

简介: 常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。

 

常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。

注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。

输入格式:

输入在第一行给出 2 个正整数 T 和 K(≤ 100),分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K 行,每行对应一次游戏,顺序给出 4 个数字:

n1 b t n2

image.gif

其中 n1n2 是计算机先后给出的两个[0, 9]内的整数,保证两个数字不相等。b 为 0 表示玩家赌,为 1 表示玩家赌t 表示玩家下注的筹码数,保证在整型范围内。

输出格式:

对每一次游戏,根据下列情况对应输出(其中 t 是玩家下注量,x 是玩家当前持有的筹码量):

    • 玩家赢,输出 Win t! Total = x.
    • 玩家输,输出 Lose t. Total = x.
    • 玩家下注超过持有的筹码量,输出 Not enough tokens. Total = x.
    • 玩家输光后,输出 Game Over. 并结束程序。

    输入样例 1:

    100 4
    8 0 100 2
    3 1 50 1
    5 1 200 6
    7 0 200 8

    image.gif

    输出样例 1:

    Win 100!  Total = 200.
    Lose 50.  Total = 150.
    Not enough tokens.  Total = 150.
    Not enough tokens.  Total = 150.

    image.gif

    输入样例 2:

    100 4
    8 0 100 2
    3 1 200 1
    5 1 200 6
    7 0 200 8

    image.gif

    输出样例 2:

    Win 100!  Total = 200.
    Lose 200.  Total = 0.
    Game Over.

    image.gif

    代码实现:

    import java.io.*;
    /**
     * @author yx
     * @date 2022-07-24 23:57
     */
    public class Main {
        static PrintWriter out=new PrintWriter(System.out);
        static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
        static StreamTokenizer in=new StreamTokenizer(ins);
        public static void main(String[] args) throws IOException {
            in.nextToken();
            int T=(int) in.nval;
            in.nextToken();
            int K=(int) in.nval;
            for (int i = 0; i < K; i++) {
                in.nextToken();
                int n1=(int) in.nval;
                in.nextToken();
                int b=(int) in.nval;
                in.nextToken();
                int t=(int) in.nval;
                in.nextToken();
                int n2=(int) in.nval;
                if(T-t<0){
                    System.out.println("Not enough tokens.  Total = "+T+".");
                    continue;
                }
                if((n2>n1&&b==1)||(n2<n1&&b==0)){
                    System.out.println("Win "+t+"!  Total = "+(T+t)+".");
                    T=T+t;
                }else {
                        System.out.println("Lose "+t+".  Total = "+(T-t)+".");
                        T=T-t;
                    if(T<=0){
                        System.out.println("Game Over.");
                        return;
                    }
                }
            }
        }
    }

    image.gif

    image.gif编辑

    相关文章
    |
    消息中间件 大数据 Kafka
    【Kafka】Kafka 中生产者运行流程
    【4月更文挑战第10天】【Kafka】Kafka 中生产者运行流程
    |
    开发工具 git Windows
    VSCode下载与安装使用教程【超详细讲解】
    VSCode下载与安装使用教程【超详细讲解】
    4848 0
    VSCode下载与安装使用教程【超详细讲解】
    |
    存储 设计模式 负载均衡
    一文读懂Spring动态配置多数据源---源码详细分析(下)
    一文读懂Spring动态配置多数据源---源码详细分析
    2749 0
    一文读懂Spring动态配置多数据源---源码详细分析(下)
    Threejs制作骨骼模型
    这篇文章详细介绍了在Three.js中创建骨骼动画的过程,包括骨骼节点的创建、权重设置以及控制骨骼关节实现动态效果的步骤,并通过一个具体的圆柱体模型演示了如何添加和控制骨骼动画。
    316 2
    |
    9月前
    |
    机器学习/深度学习 算法 数据安全/隐私保护
    基于GA遗传优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
    本项目基于MATLAB 2022a实现了一种结合遗传算法(GA)优化的时间卷积神经网络(TCN)时间序列预测算法。通过GA全局搜索能力优化TCN超参数(如卷积核大小、层数等),显著提升模型性能,优于传统GA遗传优化TCN方法。项目提供完整代码(含详细中文注释)及操作视频,运行后无水印效果预览。 核心内容包括:1) 时间序列预测理论概述;2) TCN结构(因果卷积层与残差连接);3) GA优化流程(染色体编码、适应度评估等)。最终模型在金融、气象等领域具备广泛应用价值,可实现更精准可靠的预测结果。
    |
    移动开发 JavaScript 小程序
    uniapp优缺点
    uniapp优缺点
    635 4
    |
    SQL 前端开发 Java
    在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
    这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
    在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
    |
    自然语言处理 搜索推荐 Java
    SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(一)
    SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图
    317 0
    |
    算法 程序员
    理解操作系统内存管理:页面置换算法全解析
    大家好,我是小米,热爱分享技术的大哥哥!今天聊的是操作系统中的页面置换算法。它解决的是内存满载时,如何选择合适的页面移出以腾出空间的问题。主要有三种算法:FIFO(先进先出),简单但性能不佳;LRU(最近最久未使用),考虑时间局部性,性能较好但实现较复杂;OPT(最佳置换),理论上最优但无法实际应用。这些算法各有千秋,在实际应用中需根据场景选择最合适的方案。希望这能帮大家更好地理解内存管理的核心机制!
    584 2
    |
    编解码 Java 网络安全
    网络通信的核心机制:Socket如何实现高效数据传输(下)
    网络通信的核心机制:Socket如何实现高效数据传输