输入:第一行为整数N,代表有N组测试数据,接下来的N组测试中,第一行为整数T,代表有T条通讯,第二行有T个整数,按时间先后顺序表示接收到讯息的好友id。 输出:按照通讯列表从上到下的顺序输出好友id,每个id以空格分隔。
时间: 2024-03-13 18:45:18 浏览: 34
好的,那我们就开始写代码吧。
```python
def update_chat_list(chat_list, friend_id):
if friend_id in chat_list:
chat_list.remove(friend_id)
chat_list.insert(0, friend_id)
def process_communication():
n = int(input())
for i in range(n):
t = int(input())
friend_ids = list(map(int, input().split()))
chat_list = []
for friend_id in friend_ids:
update_chat_list(chat_list, friend_id)
print(" ".join(str(friend_id) for friend_id in chat_list))
```
这是一个简单的实现,我们定义 `update_chat_list` 函数,它会根据好友id更新通讯列表,将最近通讯的好友id置顶或移到顶端,再定义 `process_communication` 函数,它会读取输入并处理每一组测试数据。在处理每一组测试数据时,它会调用 `update_chat_list` 函数来更新通讯列表,最后输出通讯列表即可。