首页 > 试题广场 >

小白鼠排队

[编程题]小白鼠排队
  • 热度指数:21218 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。

输入描述:
多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目。
下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

注意:白鼠的重量各不相同。


输出描述:
每个案例按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。
示例1

输入

3
30 red
50 blue
40 green

输出

blue
green
red
a = int(input())                #
list1 = []
for i in range(a):
    list1.append(input().split())
for i in sorted(list1, key=lambda x: int(x[0]), reverse=True):
        print(i[1])


发表于 2020-12-11 13:52:40 回复(0)
while True:
    try:
        n=int(input().strip())
        inp=[]
        for i in range(n):
            inp.append(list(input().strip().split(' ')))
        dict1={}
        for i in range(n):
            dict1[int(inp[i][0])]=inp[i][1]
        #print(dict1)
        dict1=sorted(dict1.items(),key=lambda x:x[0],reverse=True)
        #print(dict1)
        for i in dict1:
            print(i[1])
    except:
        break
发表于 2019-07-31 13:26:21 回复(0)
n = int(input())
info = {}
 
for i in range(n):
    name = input().split( )
    info[name[0]] = name[1]


info2 = sorted(info.items(), key=lambda item:int(item[0]), reverse=True)

for i in range(n):
    print(str(info2[i][1]))

思路比较简单,因为小白鼠的体重是不会重复的,所以构建一个字典,然后用Python的内置函数sorted进行排序,然后依次输出
发表于 2019-05-27 16:36:01 回复(0)
try:
    while True:
        num = int(input())
        mouses = []
        for i in range(num):
            mouses.append(input().split())
            mouses[i][0] = int(mouses[i][0])
        mouses.sort(reverse=True)
        for i in mouses:
            print(i[1])
except Exception:
    pass
编辑于 2018-10-08 22:28:36 回复(0)
while True:
    try:
        a,d=int(input()),{}
        for i in range(a):
            b=list(input().split())
            d[int(b[0])]=b[1]
        for i in sorted(d.keys(),reverse=True):
            print(d[i])
    except:
        break
发表于 2018-03-25 10:36:32 回复(0)

python solution:

while True:
    try:
        a, arr = int(input()), []
        for i in range(a):
            arr.append(input().split())
        for i in sorted(arr,key=lambda c:int(c[0]),reverse=True):
            print(i[1])
    except:
        break
发表于 2017-10-17 09:32:41 回复(0)
while 1:
    try:
        n=int(input())
        s=[]
        for i in range(n):
            s.append(input().split())
        s=sorted(s,key= lambda x: int(x[0]),reverse=True)
        for a,b in s:
            print(b)
    except:
        break

发表于 2017-09-04 14:53:51 回复(0)
try:
    while 1:
        a = []
        for i in xrange(input()):
            b = raw_input().split()
            b[0] = int(b[0])
            a.append(b)
        a.sort(key=lambda x:x[0], reverse=True)
        for j, k in a:
            print k
except:
    pass

发表于 2016-12-29 17:05:07 回复(0)