大家應該都會玩「錘子剪刀布」的遊戲:兩人同時給出手勢,勝負規則如圖所示:
現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。
輸入格式:
輸入第1行給出正整數n(<=105),即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲、乙雙方同時給出的的手勢。c代表「錘子」、j代表「剪刀」、b代表「布」,第1個字母代表甲方,第2個代表乙方,中間有1個空格。
輸出格式:
輸出第1、2行分別給出甲、乙的勝、平、負次數,數字間以1個空格分隔。第3行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有1個空格。如果解不唯一,則輸出按字母序最小的解。
輸入樣例:
10輸出樣例:c jj b
c bb b
b cc c
c bj b
b cj j
5 3 2演算法:2 3 5
b b
演算法開始。
初始化整型變數總數、整型變數臨時變數為零、字元甲、字元乙、整形變數甲勝利次數為零、甲剪刀勝利次數為零、甲錘子勝利次數為零、甲布勝利次數為零、甲平局次數為零、乙勝利次數為零、乙剪刀勝利次數為零、乙錘子勝利次數為零、乙布勝利次數為零。
讀取剪刀錘子布次數,儲存於總數。
如果臨時變數大於等於總數,則跳到第七步。
讀取交鋒資訊,儲存於字元甲和字元乙。
判斷字元甲和字元乙:如果字元甲等於字元乙,則甲平局次數加一;如果字元甲是剪刀,字元乙是布或者字元甲是錘子,字元乙是剪刀或者字元甲是布,字元乙是錘子,那麼甲勝利次數加一,甲剪刀或錘子或布勝利次數加一;否則乙勝利次數加一,乙剪刀或錘子或布勝利次數加一。回到第四句。
輸出甲的勝利次數、平局次數、輸的次數,乙的勝利次數、平局次數、輸的次數。甲什麼手勢勝利次數最多就輸出什麼手勢,如果次數最多手勢不唯一就輸出字母序小的手勢。對乙也一樣。(甲勝利次數等於乙輸的次數。甲平局次數等於乙平局次數。甲失敗次數等於乙勝利次數。)
演算法結束。
注意:由於我們需要讀取快取區的字元,所以需要清空快取區,以讀取正確的字元。不推薦使用fflush(stdin)、setbuf(stdin. null),這兩個函式在xcode環境下達不到我們想要的結果。
下列**可在pat和xcode 上正確工作
#include char most_gesture(int j, int c, int b);
int main(int argc, const char * argv)
else
}else if(j==c)
else
}else
else}}
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個空...
1018 錘子剪刀布
時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 ...