1018 錘子剪刀布

2021-09-28 12:45:12 字數 2452 閱讀 3524

現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。

輸入格式:

輸入第 1 行給出正整數 n(≤105​​ ),即雙方交鋒的次數。隨後 n 行,每行給出一次交鋒的資訊,即甲、乙雙方同時給出的的手勢。c 代表「錘子」、j 代表「剪刀」、b 代表「布」,第 1 個字母代表甲方,第 2 個代表乙方,中間有 1 個空格。

輸出格式:

輸出第 1、2 行分別給出甲、乙的勝、平、負次數,數字間以 1 個空格分隔。第 3 行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有 1 個空格。如果解不唯一,則輸出按字母序最小的解。

輸入樣例1:

10

c jj b

c bb b

b cc c

c bj b

b cj j

輸出樣例1:

5 3 2

2 3 5

b b

總結:

重點:第 3 行輸出兩個字母(即表甲、乙獲勝次數最多的手勢)如果解不唯一,則輸出按字母序最小的解。

用j[0]代表甲用b勝的次數,j[1]代表甲用c勝的次數,j[2]代表甲用j勝的次數

b找出j,y中最大的,記錄下標。若相等,比對下標是否比前乙個小,若是則交換下標。

int max_j = j[0]

;int flag_j =0;

for(

int i =

0; i <

3; i++)if

((j[i]

== max_j)

&&(i)}

ac**:

#include

#include

#include

using namespace std;

int main()

int c_j_win =

0, c_j_lose =

0, c_j_fair =0;

int c_y_win =

0, c_y_lose =

0, c_y_fair =0;

vectorj(

3.0)

; vectory(

3,0)

;for

(int i =

0; i < n; i++

)else

if(v[i]

.first ==

'j'&&v[i]

.second ==

'b')

else

if(v[i]

.first ==

'b'&&v[i]

.second ==

'c')

else

if(v[i]

.second ==

'c'&&v[i]

.first ==

'j')

else

if(v[i]

.second ==

'j'&&v[i]

.first ==

'b')

else

if(v[i]

.second ==

'b'&&v[i]

.first ==

'c')

else

} cout << c_j_win <<

" "<< c_j_fair <<

" "<< c_j_lose << endl;

cout << c_y_win <<

" "<< c_y_fair <<

" "<< c_y_lose << endl;

int max_j = j[0]

; int flag_j =0;

for(int i =

0; i <

3; i++)if

((j[i]

== max_j)

&&(iint max_y = y[0]

; int flag_y =0;

for(int i =

0; i <

3; i++)if

((y[i]

== max_y)

&&(iif(flag_j ==0)

cout <<

"b"<<

" ";

else

if(flag_j ==1)

cout <<

"c"<<

" ";

else

if(flag_y ==0)

cout <<

"b";

else

if(flag_y ==1)

cout <<

"c";

else

system

("pause");

return0;

}

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