社区讨论

站外题求助(必关)

灌水区参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m00f255j
此快照首次捕获于
2024/08/19 11:08
2 年前
此快照最后确认于
2024/08/19 13:17
2 年前
查看原帖

猴子

题目描述:

有N只猴子,第一只尾巴挂在树上,剩下的N-1只,要么被其他猴子抓住,要么抓住了其他猴子,要么两者均有。当然一只猴子最多抓两只另外的猴子,只有两只手嘛。现在给出这N只猴子抓与被抓的信息,并且在某个时刻可能某只猴子会放掉它左手或右手的猴子,导致某些猴子落到地上。求每只猴子的落地时间。

输入格式:

第一行两个数N,M,表示有N只猴子,并且总时间为M-1。接下来N行,描述了每只猴子的信息,每行两个数,分别表示这只猴子左手和右手抓的猴子的编号,如果是-1,表示该猴子那只手没抓其他猴子。接下来M行,按时间顺序给出了一些猴子放手的信息,第1+N+i行表示第i-1时刻某只猴子的放手信息,信息以两个数给出,前者表示放手的猴子的编号,后者表示其放的是哪只手,1左2右。

输出格式:

共输出N行,第i行表示第i只猴子掉落的时刻,若第i只猴子到M-1时刻以后还没掉落,就输出-1。

样例输入:

3 2
-1 3
3 -1
1 2
1 2
3 1

样例输出:

-1
1
1

提示:

30%的数据,N<=1000,M<=1000;
100%的数据,1<=N<=200000,1<=M<=400000. 时间限制: 1000ms
空间限制: 128MB

回复

3 条回复,欢迎继续交流。

正在加载回复...