队列
题目描述
又到午饭时间了。HF 中学的学生们又冲到食堂排队买饭。假设当前只有一个窗口在售
饭。于是饥肠辘辘的学生们排成了长长的一个队列。
突然,一卡通的打卡机坏了。学生们不得不散开队列,或坐或站地到别处休息。队列散
开前,每个学生记住了他前边和后边的学生的编号(编号是一个非负整数,并且各不相同) 。
经过紧急抢修,打卡机恢复正常,学生们排成一列继续买饭。为了公平,需要重新恢复
成队列原来的顺序。
食堂纪律监督员虽然是个学渣,但有幸恰好是你的好朋友。他把这个恢复队列的任务交
给了作为 HF 编程社社长的你。
对于队列第一个学生,它的前边没有人,故用 0 表示。
对于队列最后一个学生,它的后边没有人,故用 0 表示。
输入
第 1 行:1 个整数 N(2<=N<=500),表示队列中有多少个整数
接下来 N 行,每行 2 个整数 Ai,Bi(0<=Ai,Bi<=1000),其中 Ai 是排在这名学生前面学生的编
号,Bi 是排在这名学生后面学生的编号。

这篇博客介绍了一道C++基础练习题,涉及队列概念。题目描述了一个食堂排队买饭的情景,由于打卡机故障导致队列解散,学生记住前后编号。修复后,任务是恢复原来的队列顺序。文章提供了输入输出样例和解决思路,鼓励使用数学思维来解决这个问题。

1431

被折叠的 条评论
为什么被折叠?



