找出同班小朋友
题目描述
幼儿园两个班的小朋友排队时混在了一起
每个小朋友都知道自己跟前面一个小朋友是不是同班
请你帮忙把同班的小朋友找出来
小朋友的编号为整数
与前面一个小朋友同班用Y
表示
不同班用N
表示
输入描述
输入为空格分开的小朋友编号和是否同班标志
比如 6/N 2/Y 3/N 4/Y
表示一共有4
位小朋友2
和6
是同班,3
和2
不同班,4
和3
同班
小朋友总数不超过999
0 < 每个小朋友编号 < 999
不考虑输入格式错误
输出描述
每一行记录一班小朋友的编号 编号用空格分开
并且
- 编号需要按照大小升序排列,分班记录中第一个编号小的排在第一行
- 如果只有一个班的小朋友 第二行为空
- 如果输入不符合要求输出字符串
ERROR
示例一
输入
1/N 2/Y 3/N 4/Y
输出
1 2
说明
2
的同班标记为Y
因此和1
同班3
的同班标记位N
因此和1
,2
不同班4
的同班标记位Y
因此和3
同班
代码:
# !E:\pythonScript\venv python3
# -*- coding: utf-8 -*-
"""
Date: 2023/4/3
Author: kang
ep:
1/N 2/Y 3/N 4/Y
"""
while True:
try:
children = input().split()
one_class = []
two_class = []
is1 = True
for i in range(len(children)):
id = children[i][0]
same = children[i][2]
if i == 0:
one_class.append(id)
continue
elif same == "N":
is1 = not is1
if is1:
one_class.append(id)
else:
two_class.append(id)
one_class.sort()
two_class.sort()
if len(two_class) > 0:
b1 = " ".join(str(i) for i in one_class)
b2 = " ".join(str(i) for i in two_class)
if int(one_class[0]) < int(two_class[0]):
print(b1)
print(b2)
else:
print(b2)
print(b1)
else:
b1 = " ".join(str(i) for i in one_class)
print(b1)
except Exception as e:
print('ERROR')