1018 锤子剪刀布python3无超时
文章目录一、最初代码二、改进点三、最终代码一、最初代码#!/usr/bin/env python# -*-coding:utf-8 -*-'''@File:1018.py@Time:2020/03/24 12:51:44@Author:Schiller Xu@Version :1.0@Contact :schillerxu@qq.com@License :(C)Copyright 2020-202
·
一、最初代码
#!/usr/bin/env python
# -*-coding:utf-8 -*-
'''
@File : 1018.py
@Time : 2020/03/24 12:51:44
@Author : Schiller Xu
@Version : 1.0
@Contact : schillerxu@qq.com
@License : (C)Copyright 2020-2021, SchillerXu
@Desc : None
'''
n = int(input())
data = [input() for i in range(n)]
w = 0
f = 0
# 甲出剪刀石头布赢的次数
w_c = 0
w_j = 0
w_b = 0
# 乙出剪刀石头布赢的次数
f_c = 0
f_j = 0
f_b = 0
for i in data:
if i[0] == 'C':
if i[2] == 'J':
w += 1
w_c += 1
elif i[2] == 'B':
f += 1
f_b += 1
elif i[0] == 'J':
if i[2] == 'B':
w += 1
w_j += 1
elif i[2] == 'C':
f += 1
f_c += 1
else:
if i[2] == 'C':
w += 1
w_b += 1
elif i[2] == 'J':
f += 1
f_j += 1
p = n-w-f
print(f"{w} {p} {f}")
print(f"{f} {p} {w}")
if w_b >= w_c:
if w_b >= w_j:
print('B', end=' ')
else:
print('J', end=' ')
else:
if w_c >= w_j:
print('C', end=' ')
else:
print('J', end=' ')
if f_b >= f_c:
if f_b >= f_j:
print('B')
else:
print('J')
else:
if f_c >= f_j:
print('C')
else:
print('J')
二、改进点
改进点如下:
- 主要原因:input改为sys.stdin.readline,input自动把读入的字符串去掉"\n",在大数据量下两者差别比较大;
- 只统计甲赢的次数和平的次数,甲赢的次数就是乙输的次数。
三、最终代码
#!/usr/bin/env python
# -*-coding:utf-8 -*-
'''
@File : 1018-1.py
@Time : 2020/07/10 10:42:43
@Author : Schiller Xu
@Version : 1.0
@License : (C)Copyright 2020-2021, SchillerXu
@Desc : None
'''
import sys
n=int(sys.stdin.readline())
#平的次数
p=0
#甲赢的次数
w=0
# 甲出剪刀石头布赢的次数
w_c = 0
w_j = 0
w_b = 0
# 乙出剪刀石头布赢的次数
f_c = 0
f_j = 0
f_b = 0
for _ in range(n):
s=sys.stdin.readline()
#s=input()
if s[0]==s[2]:
p+=1
else:
if s[0]=='C':
if s[2]=='J':
w+=1
w_c+=1
else:
f_b+=1
elif s[0]=='J':
if s[2]=='B':
w+=1
w_j+=1
else:
f_c+=1
else:
if s[2]=='C':
w+=1
w_b+=1
else:
f_j+=1
print(w,p,n-p-w)
print(n-p-w,p,w)
if w_b >= w_c:
if w_b >= w_j:
print('B', end=' ')
else:
print('J', end=' ')
else:
if w_c >= w_j:
print('C', end=' ')
else:
print('J', end=' ')
if f_b >= f_c:
if f_b >= f_j:
print('B')
else:
print('J')
else:
if f_c >= f_j:
print('C')
else:
print('J')
更多推荐
已为社区贡献10条内容
所有评论(0)