輸入樣例:
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個空...