第一题
AC代码
import sys
opt_num = 0
init_ing = 0
scores = 0
for line in sys.stdin:
cmd = line.split()
if opt_num == 0:
student_num, opt_num = list(map(lambda x:int(x), cmd))
init_ing = 1
continue
if init_ing == 1:
scores = list(map(lambda x:int(x), cmd))
init_ing = 0
continue
if cmd[0] == 'Q':
print(max(scores[ min(int(cmd[1]),int(cmd[2]))-1 : max(int(cmd[1]),int(cmd[2])) ]))
opt_num -= 1
if cmd[0] == 'U':
scores[int(cmd[1])-1] = int(cmd[2])
opt_num -= 1
第二题
AC代码
有序字典collections.OrderedDict()
方法
import collections
import sys
logs = collections.OrderedDict()
k_num = 0
for line in sys.stdin:
line_list = line.split(' ')
name = line_list[0].split('\\')[-1]
name_l_num = name[-16:] + ' ' + line_list[1]
if name_l_num in logs.keys():
logs[name_l_num] += 1
else:
logs[name_l_num] = 1
k_num += 1
items = sorted(logs.items(),key=lambda x:x[1], reverse=True)
for j,i in enumerate(items):
if j > 7: break
print(i[0][:-1]+' '+str(i[1]))
部分测试用例
e:\1\aa3.txt 3
e:\3\aa1.txt 2
e:\2\aa2.txt 3
e:\3\aa1.txt 1
e:\1\aa1.txt 3
e:\3\aa1.txt 2
e:\1\aa3.txt 3
e:\2\aa3.txt 2
e:\1\aa1.txt 2
e:\3\aa3.txt 2
e:\1\aa2.txt 2
e:\1\aa3.txt 1
e:\1\aa3.txt 1
e:\2\aa3.txt 2
e:\1\aa2.txt 1
e:\3\aa1.txt 2
e:\1\aa1.txt 3
e:\2\aa1.txt 1
e:\3\aa3.txt 2
e:\1\aa1.txt 1
e:\2\aa2.txt 2
e:\3\aa3.txt 2
e:\1\aa2.txt 1
e:\1\aa3.txt 2
e:\1\aa3.txt 3
e:\1\aa2.txt 3
e:\3\aa1.txt 3
e:\2\aa2.txt 2
e:\1\aa1.txt 1
e:\2\aa3.txt 1
e:\3\aa1.txt 1
e:\2\aa1.txt 3
e:\3\aa3.txt 2
e:\1\aa3.txt 3
e:\2\aa3.txt 3
e:\1\aa2.txt 3
e:\2\aa2.txt 1
e:\1\aa3.txt 1
e:\1\aa3.txt 1
e:\3\aa3.txt 3
e:\3\aa3.txt 2
e:\1\aa2.txt 3
e:\1\aa2.txt 3
e:\1\aa2.txt 3
e:\1\aa1.txt 1
e:\2\aa3.txt 1
e:\3\aa3.txt 1
e:\2\aa3.txt 2
e:\3\aa1.txt 3
e:\2\aa2.txt 2
e:\2\aa2.txt 2
e:\2\aa3.txt 1
e:\1\aa3.txt 3
e:\3\aa1.txt 2
e:\3\aa2.txt 2
e:\1\aa2.txt 1
e:\2\aa2.txt 1
e:\2\aa1.txt 2
e:\2\aa2.txt 1
e:\1\aa2.txt 1
e:\2\aa3.txt 1
e:\2\aa2.txt 1
e:\2\aa1.txt 2
e:\3\aa2.txt 3
e:\3\aa1.txt 3
e:\2\aa2.txt 3
e:\2\aa3.txt 1
e:\3\aa3.txt 2
e:\2\aa3.txt 1
e:\1\aa1.txt 2
e:\3\aa3.txt 1
e:\3\aa1.txt 1
e:\2\aa2.txt 3
e:\3\aa3.txt 2
e:\2\aa1.txt 3
e:\1\aa3.txt 3
e:\3\aa2.txt 1
e:\2\aa1.txt 3
e:\1\aa3.txt 3
e:\2\aa2.txt 2
e:\1\aa1.txt 2
e:\3\aa1.txt 1
e:\1\aa3.txt 1
e:\3\aa1.txt 2
e:\1\aa1.txt 2
e:\1\aa1.txt 3
e:\3\aa1.txt 1
e:\3\aa1.txt 1
e:\2\aa3.txt 3
e:\2\aa2.txt 1
e:\2\aa1.txt 2
e:\2\aa2.txt 1
e:\3\aa2.txt 3
e:\1\aa2.txt 1
e:\3\aa2.txt 2
e:\2\aa1.txt 1
e:\2\aa3.txt 3
e:\1\aa1.txt 2
e:\1\aa1.txt 1
e:\1\aa1.txt 2
aa1.txt 2 14
aa3.txt 1 13
aa1.txt 1 12
aa2.txt 1 12
aa3.txt 3 11
aa3.txt 2 11
aa2.txt 3 10
aa1.txt 3 9
第三题
AC代码
import sys
import re
def str2int(i):
if i == 't':
return 10
if i == 'J':
return 11
if i == 'Q':
return 12
if i == 'K':
return 13
if i == 'A':
return 14
if i == '2':
return 15
if i == 'w':
return 16
if i == 'W':
return 17
else:
return int(i)
def compare(hand1, hand2):
if 'joker' in hand1 and 'JOKER' in hand1:
return hand1
elif 'joker' in hand2 and 'JOKER' in hand2:
return hand2
h1 = hand1.replace(' ','')
h1 = h1.replace('joker','w')
h1 = h1.replace('JOKER','W')
h1 = h1.replace('10','t')
h2 = hand2.replace(' ','')
h2 = h2.replace('joker','w')
h2 = h2.replace('JOKER','W')
h2 = h2.replace('10','t')
h1_list = list(map(str2int, h1))
h2_list = list(map(str2int, h2))
if len(h1_list) == 4 and len(h2_list) == 4:
return hand1 if h1_list[0] > h2_list[0] else hand2
elif len(h1_list) == 4:
return hand1
elif len(h2_list) == 4:
return hand2
if len(h1_list) != len(h2_list):
return 'ERROR'
return hand1 if h1_list[0] > h2_list[0] else hand2
for line in sys.stdin:
hand1, hand2 = line.strip('\n').split('-')
if not hand1 and not hand2:
sys.stdout.write('ERROR')
else:
sys.stdout.write(compare(hand1, hand2))
部分测试用例
4-A
A
10 10 10 10-joker JOKER
joker JOKER
留言