题目名称 1070. [焦作一中2012] 玻璃球游戏
输入输出 marbles.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-09-07加入
开放分组 全部用户
提交状态
分类标签
图论 并查集
分享题解
通过:86, 提交:337, 通过率:25.52%
GravatarHzoi_chairman 100 0.318 s 9.47 MiB C++
GravatarONCE AGAIN 100 0.456 s 7.73 MiB C++
GravatarHzoi_chairman 100 0.456 s 9.47 MiB C++
Gravatar求魔 100 0.463 s 5.46 MiB C++
Gravatar槿柒 100 0.466 s 5.44 MiB C++
Gravatar灰里城 100 0.470 s 6.49 MiB C++
Gravatar灰里城 100 0.471 s 6.49 MiB C++
GravatarMloVtry 100 0.493 s 8.32 MiB C++
Gravatar半汪 100 0.497 s 6.61 MiB C++
Gravatarliu_runda 100 0.500 s 4.90 MiB C++
本题关联比赛
20120907
2024暑假C班集训8
关于 玻璃球游戏 的近10条评论(全部评论)
GravatarAntiLeaf
2017-05-25 15:44 13楼
Gravatar安呐一条小咸鱼。
2016-06-15 19:41 12楼
Gravatar哒哒哒哒哒!
2016-04-25 16:04 11楼
回复 @liu_runda :
原来这样啊
Gravatar洛克索耶夫
2016-03-10 10:33 10楼
回复 @liu_runda :
谢谢
Gravatar森林
2016-03-10 09:41 9楼
最后一个点用自己的方法超时http://cojs.tk/cogs/images/bgm/51.gif
Gravatar森林
2016-03-10 09:40 8楼
超时超时超时。。。呵呵
Gravatar洛克索耶夫
2016-03-09 17:27 7楼
先处理完所有删边操作,再逆序处理所有操作(原来的删边处理时改为添边)。
维护一个带权并查集(所谓的权就是会不会走到环路)。
最后一个点用递归find()会爆栈,改迭代find()就可以了。
Gravatarliu_runda
2016-02-20 20:59 6楼
GravatarHzoi_Yniverse
2016-02-20 20:28 5楼
Gravatarliu_runda
2016-02-20 19:51 4楼

1070. [焦作一中2012] 玻璃球游戏

★★   输入文件:marbles.in   输出文件:marbles.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

x的业余生活中,有一项是玩滚玻璃球游戏。

某天,小x想到了一种很无趣的玩法,当然,这种玩法就是为了玩看题的你们。

x首先建立了一个单向轨道,这个单向轨道可以抽象成一个有向图,每个顶点的出度都是1,也就是由每个点出发,只有一条边连向其他的点。

x的游戏最初规则是这样的:让玻璃球从某一个点出发,沿着有向边的方向,移动到它的下一个顶点,如果还能移动,就继续移动,直到没有相邻的边,当然会存在在一个环里不停运动的情况。

为了增加难度,小x决定将游戏规则增强,他会提出一系列问题,让你回答:

1) 格式:1 X.查询玻璃球由编号为X的点出发,最终在哪个点停下来,如果能停下来,输出最后的点的编号,如果停不下来,输出CIKLUS.

2) 格式:2 X.删除由X出发的那条有向边。

【输入】

第一行包含一个正整数N1<=N<=300000,表示图的顶点数。

第二行包含由空格隔开N个正整数,第i个数表示从i顶点可以通过出边到达的定点编号,0表示该点没有出边。

接下来的一行包含1个整数Q1<=Q<=300000,表示询问的次数。

再接下来Q行,每行表示一次查询,格式如题目描述。

【输出】

对于第1类询问,输出玻璃球停止时所在顶点编号,每行1个,按照查询的顺序输出。如果玻璃球无法停止,输出CIKLUS即可.

【输入输出样例1

marbles.in

marbles.out

2 3 1 

1 1 

1 2 

2 1 

1 2 

1 1 

2 2 

1 2

CIKLUS 

CIKLUS 

2

【输入输出样例2

marbles.in

marbles.out

0 3 5 3 4 

1 1 

1 2 

2 4 

1 2 

2 3 

1 2

CIKLUS 

3

【数据范围】 

   40% 数据保证  N<=100,  Q<=1000

大样例:data