剪子-包袱-锤
Time Limit: 1000 ms Memory Limit: 65536 KiB
Special Judge

Submit Statistic
Problem Description

“石头、剪刀、布”是猜拳的一种,两人玩,起源于中国,然后传到日本、韩国等地,随着亚欧贸易的不断发展传到了欧洲,到了近现代逐渐发展到世界。
游戏规则中,石头克剪刀,剪刀克布,布克石头。
现在山东理工大学ACM集训队打算举行一场石头剪刀布锦标赛。比赛采取 100 局胜负制。
由于参赛选手过多,比赛决定采取初赛+决赛的方式决出最后的冠军。其中初赛每个人都要先和集训队开发的智能猜拳机器人阿尔法猫进行比赛,100局比赛中只要你获胜局数达到98局及以上即可获得胜利。
作为初代机器人,阿尔法猫的比赛策略是固定的。它的策略具体如下:
它会根据对方之前已经出过的石头次数、剪刀次数、布次数,来发出最不利于对方的操作。比如对方剪刀最多,它一定会出石头;对方布最多,它一定会出剪刀;对方石头最多,它一定会出布。
在比赛开始前,科学家blue长者会首先给它设定一个比赛策略,即给石头,剪刀,布各分配一个优先级,分别为 p,q,r。如果存在两个一样多,或三个一样多,或者一个都没出过(刚开局),那么它会优先选择优先级高的。比如说假如对方出过的剪刀和布一样多,石头比较少的话,那么它接下来的选择一定在石头和剪刀之间。如果石头的优先级为 3,剪刀的优先级为 2,那么它就会优先选择石头。
由于机器人只会依照既定策略进行操作也就是说,一旦你得到了机器人所执行的策略,也就是机器人在比赛中三种方式的优先级 p,q,r,那么这么100局比赛你肯定能全部获胜。(题目保证给出的三个优先级互不相同)
现在假定你足够聪明,请你编写程序战胜机器人进入猜拳决赛。
Input

有且仅有一行,三个整数 p,q,r 分别代表石头,剪刀和布的优先级,用空格隔开。
Output

首先输出一行,将刚输入的p,q,r再输出一遍,三个数之间用空格隔开。
接着输出 100 行,每行一个整数,依次为这 100 局你的选择。
石头输出 1,剪刀输出 2,布输出 3。
Sample Input

本题无样例输入
Sample Output

本题无样例输出
Hint

Source

改编

#include<algorithm>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main()
{int s,j,b,ssum=0,jsum=0,bsum=0,i,mx;scanf("%d %d %d",&s,&j,&b);printf("%d %d %d\n",s,j,b);for(i=0; i<100; i++){if(ssum==jsum&&jsum==bsum)//机器人根据三种情况相同时判断,根据优先级进行判断//是机器人进行选择,然后我再根据规则判断输出{mx=max(s,max(j,b));if(mx==s){printf("3\n");//sum++;bsum++;}else if(mx==j){printf("1\n");//sum++;ssum++;}else if(mx==b){printf("2\n");//sum++;jsum++;}}else if(ssum>jsum&&ssum>bsum)//机器人如果发现我的是石头最多,//就会输出布,然后我输出剪刀{printf("2\n");//sum++;jsum++;}else if(jsum>ssum&&jsum>bsum)//机器人如果发现我的是剪刀最多,//就会输出石头,然后我输出布{printf("3\n");//sum++;bsum++;}else if(bsum>ssum&&bsum>jsum)//机器人如果发现我的是布最多,//就会输出剪刀,然后我输出石头{printf("1\n");//sum++;ssum++;}else if(ssum==jsum&&ssum>bsum&&jsum>bsum)//如果机器人发现我的石头和剪刀//一样多,就会输出布和石头,然后再根据布和石头的优先级进行判断输出,我再根据//机器人出的响应的进行改变{if(b>s)//布的优先级大的话,机器人会出布,那我就出剪刀{printf("2\n");//sum++;jsum++;}else{printf("3\n");//相反,如果出石头,我就出布//sum++;bsum++;}}else if(ssum==bsum&&ssum>jsum&&bsum>jsum)//如果机器人发现我的石头和布//一样多,就会输出布和剪刀,然后再根据布和剪刀的优先级进行判断输出,我再根据//机器人出的响应的进行改变{if(b>j){printf("2\n");//sum++;jsum++;}else{printf("1\n");//sum++;ssum++;}}else if(bsum==jsum&&bsum>ssum&&jsum>ssum){if(j>s){printf("1\n");//sum++;ssum++;}else{printf("3\n");// sum++;bsum++;}}}//printf("%d\n",sum);return 0;
}

think:机器人根据我出的情况进行统计,决定他出什么,然后我再根据机器人出的情况决定我出什么,当机器人进行判断的时候有7种情况,当我出石头,剪刀,布时他出什么(3),当我的石头,剪刀,布两两配对次数相同时他会根据优先级进行判断自己出什么,然后我再根据他出的判断我出什么(3),当石头,剪刀,布次数相同的时候,根据优先级判断自己出什么,然后我进行判断自己出什么(1)。
总体思路:机器人根据我的出拳的情况进行统计,然后我再根据机器人的情况进行输出,再根据题意优先级进行分类判断

剪子-包袱-锤(模拟题,机器人根据我出的情况进行统计,决定他出什么,我再根据他出什么决定我出什么,7种情况)相关推荐

  1. java算数题--剪子包袱锤、完数、年月

    完成一个简单的儿时游戏-剪子包袱锤.提示玩家出拳,玩家出拳后,电脑自动出拳,根据双方的出拳,来判定输赢. 提示:约定 0 表示剪子:1 表示包袱:2 表示锤头.可以调用本章的 getRand 方法来获 ...

  2. 卷积神经网络之优化参数(剪子包袱锤)

    目录 一.优化参数的三个方法 1.手动修改 2.for循环调参 3.Keras Tunner自动调参工具 介绍 1.安装 2.准备训练数据和加载的库 3.创建HyperParameters对象以及模型 ...

  3. golang小案例 —— 剪子剪子包袱锤小游戏

    go语言简单的玩耍一下剪子包袱锤游戏...... package mainimport ("fmt""math/rand""time" )f ...

  4. 简单的c语言实现剪子包袱锤

    简单的c语言实现剪子包袱锤 该游戏开局可以选两种模式,第一种是选择与电脑玩多少局,并且以输入R.P.S分别代表石头.布和剪刀:第二种模式是选择获胜多少句结束游戏,同样输入R.P.S.最后将玩家.电脑分 ...

  5. python:使用条件语句实现剪子包袱锤

    第一个python程序: 使用条件语句实现剪子包袱锤的小游戏 ```python mark = input("规则:剪刀(0),石头(1),布(2) 请输入:") print(&q ...

  6. OJ:剪子包袱锤游戏

    问题 C: 剪子包袱锤游戏 时间限制: 1 Sec   内存限制: 2 MB 提交: 1077   解决: 474 [ 提交][ 状态][ 讨论版] 题目描述 Tom.Jack和Mary三人在同一个小 ...

  7. SDUSTOJ 1191 - 剪子包袱锤游戏 ( 结构体 函数的巧妙应用 )

    Description Tom.Jack和Mary三人在同一个小学上学,又住在同一个小区.所以每天上学.放学的路上,他们都玩一些小游戏.某天,三人玩剪子包袱锤(Scissors-Paper-Rock) ...

  8. 【聆思CSK6视觉AI开发套件试用】基于AI手势识别的剪子包袱锤游戏

    本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动,更多开发板试用活动请关注极术社区网站.作者:寒冰1988 感谢极术社区联合聆思组织的本次活动,很荣幸得到本次体验国产AI MCU的机 ...

  9. Swift实战(一): 剪子包袱锤ios应用

    来自十奶的大作业教学视频. http://www.swiftv.cn/course/ic2tqzob 主要了解了MVC模型. 首先是View,通过设计mainstoryboard构建UI界面,主要靠拖 ...

最新文章

  1. python txt文件读写(追加、覆盖)
  2. 子主题function php,wordpress子主题怎么添加
  3. 【Android 逆向】应用数据目录 ( Android 应用数据目录 /data/data/package.name | 存放 SharedPreference 的 shared_pref 目录 )
  4. 复用 TensorFlow 模型
  5. java for loop_Java for循环执行了两次
  6. 史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目
  7. 使用正则表达式的技巧
  8. php 自带 web server 如何重写 rewrite .htaccess
  9. volta架构 微型计算机,性能大爆炸 NVIDIA新GPU架构曝光
  10. onnx 测试_用于ONNX的TensorRT后端
  11. 连接linux桌面命令,连接Linux远程桌面的四个方法
  12. VB.Net工作笔记001---用ASP调用VB.NET编写的dll_ClassLibrary
  13. 面试准备每日五题:C++(九)——vector、list、deque、priority_queue、mapset
  14. 为什么说GraphQL可以取代REST API?
  15. 74cms v4.2.1-v4.2.129-后台getshell漏洞 复现
  16. java excel 日期格式转换_Java处理Excel中的日期格式
  17. 【Excel】如何去掉编辑栏
  18. 打开dashboard报错:xcelsius已经停止工作
  19. Unreal Engine 4 Radiant UI 入门教程(一)制作Radiant HUD
  20. IntelliJ IDEA远程debug调试

热门文章

  1. 梅斯健康冲刺港股:年营收3亿 腾讯与启明为重要股东
  2. *.rgb转换为*.jpg的操作
  3. Android 绘制优化总结1
  4. 【网络】tftp协议、简单实用tftpd32工具在主机和虚拟机之间传输文件
  5. 计算机系统总线功能组,计算机组到成原理(华科版)第六章 系统总线.ppt
  6. 电脑加速,自己动手,给电脑提速
  7. 一键刷机三星I9220
  8. [Andriod]Andriod之HelloWorld
  9. 华为智慧金融峰会召开发布金融云网解决方案;Supermicro产能将翻倍每年供货超200万台服务器 | 全球TMT...
  10. 【睡眠排序】java