大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
输入第 1 行给出正整数 N ( ≤ 1 0 5 ) N(≤10^5) N(≤105),即双方交锋的次数。随后 N N N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C
代表“锤子”、J
代表“剪刀”、B
代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。
输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 个空格分隔。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 1 个空格。如果解不唯一,则输出按字母序最小的解。
10
C J
J B
C B
B B
B C
C C
C B
J B
B C
J J
5 3 2
2 3 5
B B
该问题可划分为两个子问题:
#include <iostream>
#include <map>
using namespace std;
map<char, int> ctoi = {
{
'B', 0}, {
'C', 1}, {
'J', 2} };
int times_A[3] = {
0}, times_B[3] = {
0};
char itoc[3] = {
'B', 'C', 'J'};
int win_A[3] = {
0}, win_B[3] = {
0};
void Judge(int user1, int user2) {
if (user1 == user2) {
times_A[1]++; times_B[1]++;
}
else if ((user1+1) % 3 == user2) {
times_A[0]++; times_B[2]++;
win_A[user1]++;
}
else {
times_A[2]++; times_B[0]++;
win_B[user2]++;
}
}
int main() {
int n=0;
cin >> n;
/* 1. 甲乙胜负平 */
char player1 = ' ', player2 = ' ';
for (int i = 0; i < n; i++) {
cin >> player1 >> player2;
int user1 = ctoi[player1];
int user2 = ctoi[player2];
Judge(user1, user2);
}
cout << times_A[0] << " " << times_A[1] << " " << times_A[2] << endl;
cout << times_B[0] << " " << times_B[1] << " " << times_B[2] << endl;
/* 2. 获胜手势 */
int max1 = 0, max2 = 0;
for (int i = 0; i < 3; i++) {
if (win_A[i] > win_A[max1]) max1 = i;
if (win_B[i] > win_B[max2]) max2 = i;
}
cout << itoc[max1] << " " << itoc[max2] << endl;
return 0;
}
计算机程序执行分为同步执行,和异步执行。所谓的同步执行,就是正常的计算机程序执行的3大顺序流程:顺序控制语句 从上至下,从左至右分支控制语句 if,switch循环控制语句 for,while,do…while,for…in,forEach()所谓的异步执行,是一种特殊的程序的执行方式js中常见的异步执行主要有:setInterval setTimeout事件的绑定 onclick…ajax请求所谓异步程序的执行:(1) 所有的异步程序的执行,都会在同步程序执行结束之后,再来执
使用fsck修复文件系统错误 1、问题描述服务器maint_samba 由于服务器maint_samba (debian操作系统)没有正常关机,在重新启动过程中/dev/sdb1出现文件系统错误,需要手动使用fsck进行扫描和修复。出现如下情况:…...Checking file systems ...fsck 1.41.3(12-OCT-2008)/dev/sdb1...
paper链接:Fast R-CNN &创新点规避R-CNN中冗余的特征提取操作,只对整张图像全区域进行一次特征提取;用RoI pooling层取代最后一层max pooling层,同时引入建议框信息,提取相应建议框特征;Fast R-CNN网络末尾采用并行的不同的全连接层,可同时输出分类结果和窗口回归结果,实现了end-to-end...
#!/usr/bin/env python# encoding: utf-8'''@author: [email protected]: [email protected]: [email protected]@file: [email protected]: 2022/4/22 23:[email protected]:替换self.uuid就能把题和答案写入mysql数据库 uuid在cookies里'''import jsonimport requestsimport pymysql.cursorsimport sys
武科大教-武汉科技大学教务处武科大教 „2018 ‟68 号2017全校各单位:2017 年教学研究项目评审立项工作已经结束,经学校评审,全校共 68 项教学研究项目获校级立项,其中 15 项教学研究项目经教育厅评审获得省级立项,现予以公布(名单附后)。教学研究工作是深化教学改革、提高人才培养质量的重要基础性工作,学校对获准立项的教学研究项目给予一定的经费支持。各项目负责人应高度重视立项项目的研...
---------------------------------------------------------PHP知识大全---------------------------------------------------------1.变量如何定义?如何检查变量是否定义?如何删除一个变量?怎样检测变量是否设置?$定义...
用户登录成功,通过用户角色从服务器获取路由,添加到vue-router中。因为侧边栏存在路由嵌套,所以后端设计数据库时添加父路由id字段,递归获取所有路由数据根据路由格式创建Router类和路由meta信息类RouterMeta路由格式Router类public class Router{ /** id */ private String id; /** 路径 */ private String path; /** 装饰;使用哪个layout
Win11 专业版HP480G7。
文章目录下面是main.lua文件的完整代码,单击屏幕任意一点会创建一个精灵,精灵之间相互碰撞后产生回调事件。local MainScene = class (&amp;amp;amp;amp;quot;MainScene&amp;amp;amp;amp;quot;,function() return display.newScene(&amp;amp;amp;amp;quot;MainScene&amp;amp;amp;amp;quot;,{phy
记录一下,每次隔一个月几个月就要手动创建一次,每次测试都要重新找怎么建curl -H "Content-Type: application/json" -XPUT 127.0.0.1:9200/ll_test/base/_mapping?include_type_name=true -d '{"base": { "properties": {"_alls": {"type": "text","store": "true","analyzer": "standard"...
其实Vector和ArrayList一样,都是基于数组实现的List,也就是说都是属于List 阵营的,其主要的区别是在于线程安全上,二者的底层实现都是基于数组的Vector 实现线程安全的方式就是给方法上加synchronized 锁,**所以线程安全的情况下请使用ArrayList,多线程的情况下使用Vector**,Vector 在目前的开发中也用的不多,主要是它实现线程安全的方式比较低效,但是如果有一天Java 将synchronized锁的效率提高了,那Vector依然是一个不错的选择
1.根据产品分析在写创新文案时,首先需要需要将产品与市场结合分析,找到可以突破的点,进行精准瞄准受众客户,其实创意文案是需要根据热点结合,分析优势与劣势,借势营销是很好的方式。2.结合客户需求其实分析出产品的优劣势后,还需要结合客户的需求进行策划,首先我们要知道目标的客户价值多少,并且根据产品和服务的定位,去确定一些不符合产品的定位,其次我们所表达的是否能够做到等,只有将产品的定位都做好,才...