參考**:
參考知識點(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個空...