1018 錘子剪刀布

2021-09-27 11:36:47 字數 1186 閱讀 4161

輸入樣例:

10c j

j bc b

b bb c

c cc b

j bb c

j j輸出樣例:

5 3 2

2 3 5

b b思路:不想多的,直接列出所有情況,統計次數。

//1018 錘子剪刀布

#include using namespace std;

int main() , game2[3] = ; //分別記錄甲乙的勝平負次數

int win1[3] = , win2[3] = ; //分別記錄甲乙勝情況

string flag = "bcj"; //0-2對應bcj

for(int i = 0; i < n; i++) //平

if(a == 'c' && b == 'j') //甲勝,錘子

if(a == 'j' && b == 'b') //甲勝,剪刀

if(a == 'b' && b == 'c') //甲勝,布

if(b == 'c' && a == 'j') //乙勝,錘子

if(b == 'j' && a == 'b') //乙勝,剪刀

if(b == 'b' && a == 'c') //乙勝,布

} printf("%d %d %d\n", game1[0], game1[1], game1[2]);

printf("%d %d %d\n", game2[0], game2[1], game2[2]);

int max = 0, ma = 0;

for(int i = 0; i < 3; i++)

if(max < win1[i])

cout << flag[ma] << ' ';

max = 0; ma = 0;

for(int i = 0; i < 3; i++)

if(max < win2[i])

cout << flag[ma];

}

注意點:

因為需要讀取字元,要注意空格和回車鍵的影響。可以通過cin.get()來讀取空格和回車鍵

反饋:**應該可以更簡潔一些的,邏輯有些饒了

1018 錘子剪刀布

大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j...

1018 錘子剪刀布

輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j代表 剪刀 b代表 布 第1個字母代表甲方,第2個代表乙方,中間有1個空格。輸出格式 輸出第1 2行分別給出甲 乙的勝 平 負次數,數字間以1個空格分隔。第3行...

1018 錘子剪刀布

現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j代表 剪刀 b代表 布 第1個字母代表甲方,第2個代表乙方,中間有1個空...