首页 > 其他分享 >OpenJudge 1.7.04 石头剪子布

OpenJudge 1.7.04 石头剪子布

时间:2022-11-04 16:04:14浏览次数:47  
标签:1.7 04 Rock 剪子 player2 player1 Paper Scissors OpenJudge

04:石头剪子布

总时间限制: 1000ms 内存限制: 65536kB

描述

石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。

游戏规则:石头打剪刀,布包石头,剪刀剪布。

现在,需要你写一个程序来判断石头剪子布游戏的结果。

输入

输入包括N+1行:
第一行是一个整数N,表示一共进行了N次游戏。1 <= N <= 100。
接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):
S1 S2
字符串之间以空格隔开S1,S2只可能取值在{"Rock", "Scissors", "Paper"}(大小写敏感)中。

输出

输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

样例输入

3
Rock Scissors
Paper Paper
Rock Paper

样例输出

Player1
Tie
Player2

提示

Rock是石头,Scissors是剪刀,Paper是布。

来源

习题(12-1) 计算概论2010(生命学院)Final Exam

题意

输入第一行是一个整数N,表示一共进行了N次游戏。1 <= N <= 100。
接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择
最后输出胜利者

思路

使用For循环判断是谁赢,并存入数组,最后也是用For循环输出(PS:不要忘记endl)

题解

点击查看代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
    string player1, player2;
    int n;
    cin >> n;
    int listn[n];
    for (int i = 0; i < n; i++)
    {
        /* code */
        cin >> player1 >> player2;
        if (player1 == player2)
        {
            listn[i] = 0;
        }
        else if ((player1 == "Rock") && (player2 == "Scissors") || (player1 == "Scissors") && (player2 == "Paper") || (player1 == "Paper") && (player2 == "Rock"))
        {
            listn[i] = 1;
        }
        else if ((player2 == "Rock") && (player1 == "Scissors") || (player2 == "Scissors") && (player1 == "Paper") || (player2 == "Paper") && (player1 == "Rock"))
        {
            listn[i] = 2;
        }
    }
    for (int i = 0; i < n; i++)
    {
        /* code */
        if (listn[i] == 0)
        {
            cout << "Tie" << endl;
        }
        if (listn[i] == 1)
        {
            cout << "Player1" << endl;
        }
        if (listn[i] == 2)
        {
            cout << "Player2" << endl;
        }
    }
}

标签:1.7,04,Rock,剪子,player2,player1,Paper,Scissors,OpenJudge
From: https://www.cnblogs.com/HANDMICRO/p/16858111.html

相关文章

  • JAVA并发容器-ConcurrentHashMap 1.7和1.8 源码解析
    HashMap是一个线程不安全的类,在并发情况下会产生很多问题,详情可以参考​​HashMap源码解析​​;HashTable是线程安全的类,但是它使用的是synchronized来保证线程安全,线程竞争......
  • ubuntu16.04安装mmdetection库
    一,前言1.1,更新pip和conda下载源1.2,查看conda和pip版本二,MMDetection简介三,MMDetection安装3.1,依赖环境3.2,安装过程记录1,安装操作系统+cuda2,安装An......
  • Linux Ubuntu 20.04 —添加开机启动(服务/脚本)
    本文章向大家介绍LinuxUbuntu20.04—添加开机启动(服务/脚本),主要包括LinuxUbuntu20.04—添加开机启动(服务/脚本)使用实例、应用技巧、基本知识点总结和需要注意事......
  • 【单片机/嵌入式】【梁山派】学习日志04:寄存器点灯
    一、寄存器点亮LED1.1配置流程一般我们使用GPIO的端口,都需要有以下几个步骤。(1)开启GPIO的端口时钟(2)配置GPIO的模式(3)配置GPIO的输出从LED介绍那一章节我们了解到LED1......
  • Java学习——11.04
    因为昨天学的有点少,上不了台面,所以和今天的一起写,当然还可能是自己太懒了,昨天的没记住,于是又看了一遍。1.变量:局部变量(和C一样的)实例变量(加new引用文件名创建函数......
  • 【FAQ】调用华为云空间文件管理接口出现"errorCode":"21000403"
    ​ 1、问题描述调用华为云空间文件管理接口,总是返回错误,{"error":{"errorDetail":[{"domain":"global","reason":"authError","description":"AccessForbidden","error......
  • ubuntu20.04 从安装 kvm、qemu、libvirt 到进入虚拟机
    安装环境可行性检测验证CPU是否支持硬件虚拟化grep-Eoc'(vmx|svm)'/proc/cpuinfo//数字大于0,则代表CPU支持硬件虚拟化,反之则不支持检查VT是否在BIOS中启用a......
  • 2022-11-04 js foreach 三重循环
    letarr=[];req.data.forEach((e,k1)=>{letobj={};obj.value=e.content;obj.children=[];obj.expand=false;if(e.children){e.child......
  • 04_Linux完全卸载安装Mysql
    1.Linux环境完全卸载mysql相关文件:完全卸载mysql相关文件:      yumremovemysqlmysql-servermysql-libscompat-mysql      rm-rf/var/......
  • CodeForces - 204A Little Elephant and Interval
    题意:给定区间[l,r],问区间内有多少第一个数字和末尾数字一样的数。解:练习一些数位dp。先从高到低dp[pos][fir]表示dp到第pos个位置,以fir开头的串的数量,其中fir不为0。这道......