1018 錘子剪刀布

2021-10-22 18:59:50 字數 1266 閱讀 7373

參考**:

參考知識點(map):

「map是stl的乙個關聯容器,它提供一對一的hash。

第乙個稱為關鍵字(key),每個關鍵字只能在map**現一次;

第二個稱為該關鍵字的值(value);」

#include

#include

using

namespace std;

intmain()

elseif(

(str[0]

=='j'

&&str[2]

=='c')||

(str[0]

=='c'

&&str[2]

=='b')||

(str[0]

=='b'

&&str[2]

=='j'))

} cout<" "<" "

cout<" "<" "

(jm[

'b']

>=jm[

'c']

?(jm[

'b']

>=jm[

'j']

?'b'

:'j'):

(jm[

'c']

>=jm[

'j']

?'c'

:'j'))

;//記得最外面加括號先算

//b比c多嗎?是--那麼b比j多嗎?(是--b最多,輸出b/不是-j最多,輸出j)

//b比c多嗎?不是,c更多,那麼c比j多嗎?(是--c最多,輸出c/不是--輸出j)其他情況以此類推

cout<<

" ";

cout<<

(ym[

'b']

>=ym[

'c']

?(ym[

'b']

>=ym[

'j']

?'b'

:'j'):

(ym[

'c']

>=ym[

'j']

?'c'

:'j'))

;//注意要取等!因為如果一樣的話就按照輸出按字母序最小的解。

return0;

}

個人感覺要注意的幾個點:

1.map的使用

2.對於甲乙勝負以及平局的輸出表示

3.讀入回合數之後吸收回車

4.最後比大小時要取等

5.用字串儲存資料而不是單個字元

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個空...