学校选拔篮球队员,每间宿舍最多有 4 个人。现给出宿舍列表,请找出每个宿舍最高的同学。定义一个学生类 Student,有身高 height,体重 weight 等。 输入格式: 首先输入一个整型数 n (1≤n≤10 6 ),表示有 n 位同学。 紧跟着 n 行输入,每一行格式为:宿舍号 name height weight。 宿舍号的区间为 [0, 999999], name 由字母组成,长度小于 16,height,weight 为正整数。 输出格式: 按宿舍号从小到大排序,输出每间宿舍身高最高的同学信息。题目保证每间宿舍只有一位身高最高的同学。 注意宿舍号不足 6 位的,要按 6 位补齐前导 0。
时间: 2023-05-11 16:02:29 浏览: 279
山西工学院电力工程学院关于选拔宿舍管理督导委员会负责人以及工作人员的通知.pdf
这是一道编程类的问题,我可以回答。以下是代码实现:
```python
class Student:
def __init__(self, height, weight):
self.height = height
self.weight = weight
n = int(input())
dorms = {}
for i in range(n):
dorm, name, height, weight = input().split()
dorm = dorm.zfill(6)
if dorm not in dorms:
dorms[dorm] = []
dorms[dorm].append((name, Student(int(height), int(weight))))
for dorm in sorted(dorms.keys()):
students = dorms[dorm]
max_height = max(students, key=lambda x: x[1].height)[1].height
for name, student in students:
if student.height == max_height:
print(dorm, name, student.height, student.weight)
break
```
这段代码实现了对输入的学生信息进行处理,按照宿舍号存储在字典 `dorms` 中。然后对每个宿舍的学生进行身高比较,输出身高最高的学生信息。
阅读全文