25684: 食堂找座位
http://cs101.openjudge.cn/practice/25684/
同学们爱相约着一起去食堂吃饭并一起离开,但食堂位置有限,时常发现找不到座位。 假设现有 m ( 1 <= m <= 1000) 组同学计划一起吃饭,食堂总共有 c ( 1 <= c <= 10000 )个位置。 已知每组同学的人数 n、到达食堂时刻 s、吃饭用时 d( 0 <= s, d <= 10^6)。 例,n=3, s=4, d=5: 该组同学在时刻4寻找3个座位,如果找到则在 [4,9) 时刻占用座位吃饭,时刻9 已离开座位。 请你通过代码判断这 m 组同学是否都能找到座位。
输入
第一行为2个整数,分别表示前往食堂的同学组数m和食堂座位总数c。 接下来n行,每行为3个整数,分别表示一组同学的人数n、到达时刻s、吃饭用时d。
输出
一个字符,若所有同学都能找到位置为Y,否则为N。
样例输入
Sample Input1:
2 3
2 1 4
3 5 3
Sample Output1:
Y样例输出
Sample Input2:
2 3
2 1 4
2 1 4
Sample Output2:
N提示
tags: implementation,sort
来源
2022fall-cs101, pyn
python
line = input().split()
m, c = int(line[0]), int(line[1])
chairs = []
for i in range(int(1e6)):
chairs.append(0)
for i in range(m):
line = input().split()
n, s, d = int(line[0]), int(line[1]), int(line[2])
for i in range(s,s+d):
chairs[i] += n
check = False
for i in chairs:
if i > c:
check = True
if check:
print('N')
else:
print('Y')