样例输出
2
我的答案:
import sys
def getMiniNums():
global globalPeopleList
if not globalPeopleList:
return 0
l = globalPeopleList[0]
min = len(l)
for l in globalPeopleList:
if min > len(l):
min = len(l)
return min
def copyList(temp , input_list):
for i in range(0,len(input_list)) :
temp.insert(i,input_list[i])
globalPeopleList = []
def getRemainsPeople(input_list):
#print (input_list)
if len(input_list) < 2:
return []
# print (input_list)
for i in range(0,len(input_list)-1):
if input_list[i] == 'R' and input_list[i+1] == 'L':
input_list2 = []
input_list3 = []
copyList(input_list2 , input_list)
copyList(input_list3 , input_list)
del input_list3[i+1]
del input_list2[i]
if not input_list2 or not input_list3:
break
if len(input_list) < 2:
break
getRemainsPeople(input_list2)
getRemainsPeople(input_list3)
# print (input_list)
globalPeopleList.append(input_list)
return input_list
if __name__ == '__main__':
input_str = sys.stdin.readline().strip()
getRemainsPeople(list(input_str))
print(getMiniNums())
2.大学生举办足球赛,输入测试数据有多组,每组测试数据的第一行为一个整数n(1=< n <=50),为参与总决赛的球队数,
import sys
import operator
def getScoreList(teamNamesCollection,matchCollection):
for i in range(0,len(teamNamesCollection)):
teamNames = teamNamesCollection[i]
matchList = matchCollection[i]
ScoreStatistics = {}
teamOutput = []
scoreList = []
for name in teamNames:
ScoreStatistics [name] = 0
for match in matchList:
teamName1,teamName2 = match[0],match[1]
score1,score2 = int(match[2]),int(match[3])
if teamName1 in teamNames and teamName2 in teamNames:
ScoreStatistics [teamName1] += score1
ScoreStatistics [teamName2] += score2
# sorted(ScoreStatistics.items(),key=operator.itemgetter(1))#values sort
# f = filter(lambda i: i[0] != "b" , a.items())
# teamOutput.append(ScoreStatistics.key)
for k,v in ScoreStatistics.items():
scoreList.append(v)
scoreList = sorted(scoreList)
n = int(len(scoreList) /2)
scoreList = scoreList[n:]
# print (ScoreStatistics)
# print (scoreList)
for s in scoreList:
ls = list(ScoreStatistics.keys())[list(ScoreStatistics.values()).index(s)]
print (''.join(ls))
if __name__ == '__main__':
matchCollection = []
teamNamesCollection = []
k = 0
while True:
matchList = []
input_num = sys.stdin.readline().strip()
if input_num == "":
break
input_num = int(input_num)
i = 0
teamNames = []
while i < input_num:
teamName = sys.stdin.readline().strip()
teamNames.insert(i,teamName)
i += 1
i = 0
matchCounts = int(input_num*(input_num-1)/2)
while i < matchCounts:
matchItemList = []
matchItem = sys.stdin.readline().strip()
teams,names = matchItem.split(' ')
teamList = teams.split('-')
nameList = names.split(':')
matchItemList.extend(teamList)
matchItemList.extend(nameList)
matchList.insert(i,matchItemList)
i += 1
matchCollection.insert(k,matchList)
teamNamesCollection.insert(k,teamNames)
k += 1
# print (matchList)
getScoreList(teamNamesCollection,matchCollection)