[1018]. 錘子剪刀布 (20)
時間限制 100 ms記憶體限制 65536 kb**長度限制 8000 b判題程式 standard 作者 chen, yue現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。
輸入格式:
輸入第1行給出正整數n(<=105),即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲、乙雙方同時給出的的手勢。c代表「錘子」、j代表「剪刀」、b代表「布」,第1個字母代表甲方,第2個代表乙方,中間有1個空格。
輸出格式:
輸出第1、2行分別給出甲、乙的勝、平、負次數,數字間以1個空格分隔。第3行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有1個空格。如果解不唯一,則輸出按字母序最小的解。
輸入樣例:
10 c j
j b
c b
b b
b c
c c
c b
j b
b c
j j
輸出樣例:
5 3 2
2 3 5
b b我用了兩個二維陣列來表示甲,乙兩人的勝,平,負和剪刀,錘子,布的次數,最後對於勝,平,負的統計只要將甲,乙在石頭剪刀布各個情況下的勝平負進行累加就可以了
#include"iostream"
#include"vector"
using namespace std;
int main()
;//行代表剪刀,石頭,布;列代表勝,平,負;
int yi[3][3]=;
for(i=0;ifor(vector
::iterator it=s.begin();it!=s.end();it+=2)
else if(*(it+1)=='c')
else
}else if(*it=='c')
else if(*(it+1)=='c')
else
}else
else if(*(it+1)=='c')
else
} }
cout<<(jia[0][0]+jia[1][0]+jia[2][0])<<" "<<(jia[0][1]+jia[1][1]+jia[2][1])<<" "<<(jia[0][2]+jia[1][2]+jia[2][2])
<<(yi[0][0]+yi[1][0]+yi[2][0])<<" "<<(yi[0][1]+yi[1][1]+yi[2][1])<<" "<<(yi[0][2]+yi[1][2]+yi[2][2])
<<(jia[0][0] >
jia[1][0]?(jia[0][0]>jia[2][0]?"j":"b"):(jia[1][0]>jia[2][0]?"c":"b"))<<" "<<(yi[0][0]>
yi[1][0]?(yi[0][0]>yi[2][0]?"j":"b"):(yi[1][0]>yi[2][0]?"s":"b"));
//這一行看著有點亂,耐心的看完,其實一點都不複雜就是亂了點,主要是對甲乙兩人勝率最高的出法進行比較和輸出(好吧其實就是我懶得分開寫)
return 0;
}
1018 錘子剪刀布 20
時間限制 100 ms 記憶體限制 32000 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 ...
1018 錘子剪刀布 20
時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 ...
1018 錘子剪刀布 20
時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 ...