錘子剪刀布 20

2021-08-26 09:39:56 字數 1403 閱讀 2447

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

輸入第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

**:python3

def vs(a, b):

if a == b:

return 'p'

elif a == 'c' and b == 'j':

return 'a'

elif a == 'j' and b == 'b':

return 'a'

elif a == 'b' and b == 'c':

return 'a'

else:

return 'b'

def max1(list3):

b = c = j = 0

for i in list3:

if i == 'b':

b += 1

elif i == 'c':

c += 1

elif i == 'j':

j += 1

if b >= j and b >= c :

return 'b'

elif c >= b and c >= j:

return 'c'

elif j >= c and j >= b:

return 'j'

n = int(input())

a = b = p = 0

list1 = list2 = ''

for i in range(0, n):

m = input().split()

if vs(m[0], m[1]) == 'a':

a += 1

list1 = list1+m[0]

elif vs(m[0], m[1]) == 'b':

b += 1

list2 = list2+m[1]

else:

p += 1

print(a, p, b)

print(b, p, a)

print(max1(list1), max1(list2))

錘子剪刀布 20

時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 大家應該都會玩 錘子剪刀布 的遊戲 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n...

1018 錘子剪刀布 20

時間限制 100 ms 記憶體限制 32000 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 ...

1018 錘子剪刀布 20

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 ...