PAT-B 1018 錘子剪刀布 【模擬】
PAT-B 1018 錘子剪刀布
https://pintia.cn/problem-sets/994805260223102976/problems/994805304020025344
題目
大家應該都會玩“錘子剪刀布”的遊戲:兩人同時給出手勢,勝負規則如圖所示:
現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。
輸入
輸入第 1 行給出正整數 N(≤105),即雙方交鋒的次數。隨後 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
分析
C 代表“錘子”、J 代表“剪刀”、B 代表“布”
C-C=0 平
C-J=-7甲勝
C-B=1 乙勝
J-C=7 乙勝
J-J=0 平
J-B=8 甲勝
B-C=-1 甲勝
B-J=-8 乙勝
B-B=0 平
總結 平:0 甲勝:-1,-7,8 乙勝:1,7,-8。具體看程式。
C++程式
#include<iostream>
#include<map>
using namespace std;
map<char,int>m[2];//m[0]表示甲的情況,m[1]表示乙的情況。
int ans[2][3];//ans[0]表示甲的勝、平、負的次數,ans[1]代表乙的情況
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char c1,c2;
scanf(" %c %c",&c1,&c2);
int temp=c1-c2;
if(temp==0)//平
{
ans[0][1]++;//甲平次數加一
ans[1][1]++;//乙平次數加一
}
else if(temp==-1||temp==-7||temp==8)//甲勝
{
ans[0][0]++;//甲勝次數加一
ans[1][2]++;//乙負次數加一
m[0][c1]++;//甲獲勝,出c1手勢的次數加一
}
else//乙勝
{
ans[0][2]++;//甲負次數加一
ans[1][0]++;//乙勝次數加一
m[1][c2]++;//乙獲勝,出c2手勢的次數加一
}
}
printf("%d %d %d\n%d %d %d\n",ans[0][0],ans[0][1],ans[0][2],ans[1][0],ans[1][1],ans[1][2]);
for(int i=0;i<2;i++)
{
int ch='B';
if(m[i][ch]<m[i]['C'])
ch='C';
if(m[i][ch]<m[i]['J'])
ch='J';
if(i) printf(" ");
printf("%c",ch);
}
printf("\n");
return 0;
}
相關文章
- PAT 1018 錘子剪刀布
- PAT1018錘子剪刀布
- PAT B1018 錘子剪刀布 mw的解題思路與優化方案優化
- 剪刀石頭布程式(Python)Python
- PAT-B 1027 列印沙漏 【模擬】
- Python剪刀石頭布遊戲Python遊戲
- PAT-B 1058 選擇題 【模擬】
- PAT-B 1061 判斷題【模擬】
- PAT-B 1067 試密碼【模擬】密碼
- PAT-B 1071 小賭怡情【模擬】
- 剪子布錘遊戲遊戲
- PAT-B 1054 求平均值 【模擬】
- PAT-B 1072 開學寄語【模擬】
- PAT-B 1081 檢查密碼【模擬】密碼
- PAT-B 1084 外觀數列 【模擬】
- PAT-B 1085 PAT單位排行【模擬】
- PAT-B 1019 數字黑洞【陣列+模擬】陣列
- PAT-B 1017 A除以B【模擬 大數除法】
- PAT-B 1059 C語言競賽【模擬】C語言
- 程式碼日:剪刀石頭布 (RPS) 專案
- PAT-B 1024 科學計數法【模擬+字串】字串
- PAT-B 1077 互評成績計算【模擬】
- PAT-B 1012 數字分類【簡單模擬】
- 小熊飛槳練習冊-03石頭剪刀布
- PAT-B 1025 反轉連結串列【模擬+對映】
- PAT-B 1069 微博轉發抽獎【模擬+集合】
- 「錘子」使用♂手冊
- 結對-遊戲《石頭剪刀布》-專案進度遊戲
- 拿個錘子看誰都是釘子
- 錘子重磅新機下月釋出 錘子將帶來什麼驚喜呢?
- PAT-B 1008 陣列元素迴圈右移問題【簡單模擬】陣列
- 手裡拿著錘子,看啥都像釘子
- PAT-B 1001 害死人不償命的(3n+1)猜想【模擬】
- “步行模擬”如何改變電子遊戲?遊戲
- 天啦嚕!在家和偶像玩"剪刀石頭布",阿里工程師如何辦到?阿里工程師
- 天啦嚕!在家和偶像玩「剪刀石頭布」,阿里工程師如何辦到?阿里工程師
- 【電子取證:映象模擬篇】DD、E01系統映象動態模擬
- 天啦嚕!在家和愛豆玩「剪刀石頭布」,阿里工程師如何辦到?阿里工程師