两道题

某学校近期要组织全校同学出去参加某项活动,由于人数众多,学校决定让同学们自行组队,以小组为单位进行活动。假设学校一共n个同学,每个同学有一个唯一的数字作为标签,标签数字范围1到n。为了统计分组情况,学校要求有分组意愿的同学提交一个数字,表示其会和以该数字为标签的同学分到一组。

现在告诉你每位同学的选择,你能统计出一共有多少个小组么?

注意如果1和2一组,2和3一组,那么1,2,3属于一组。默认自己一定和自己在一组。

输入

第一行一个整数n,表示同学的总人数,1≤n≤100000;

第二行n个整数,第i个数ai表示以数字i为标签的同学和以数字ai为标签的同学分在一组,1≤ai≤100000

输出

输出一个整数,表示最终这些同学被分成了多少个小组

全部评论
对于一个非负整数我们称它是美丽的当且仅当它的十进制表示下不包含多个相同的数字。比如1234,7523都是美丽的,但99,121,3043等都不是美丽的。现在给出一个数字n,你需要找到比n大的,最小的美丽的数 输入 第一行包含一个整数n。1000≤n≤9000 输出 输出对应的答案,若不存在满足条件的数,输出-1 样例输入 1987 样例输出 2013
点赞 回复 分享
发布于 2017-09-18 16:00
union find?
点赞 回复 分享
发布于 2017-09-18 15:44
并查集可以做
点赞 回复 分享
发布于 2017-09-18 15:44

相关推荐

03-19 10:36
云南大学 C++
点赞 评论 收藏
分享
03-16 12:39
燕山大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务