题目描述

Byteazar the Dragon 拥有 N 个小猪存钱罐。每一个存钱罐能够用相应的钥匙打开或者被砸开。Byteazar 已经将钥匙放入到一些存钱罐中。现在已知每个钥匙所在的存钱罐,Byteazar 想要买一辆小汽车,而且需要打开所有的存钱罐。然而,他想要破坏尽量少的存钱罐,帮助 Byteazar 去决策最少要破坏多少存钱罐。

读入存钱罐的数量以及相应的钥匙的位置,求出能打开所有存钱罐的情况下,需要破坏的存钱罐的最少数量并将其输出。

输入描述

第一行:包括一个整数 N(1 ≤ N ≤ 10^6),这是 Byteazar the Dragon 拥有的存钱罐的数量。

存钱罐(包括它们对应的钥匙)从 1 到 N 编号。

接下来有 N 行:第 i+1 行包括一个整数 x,表示第 i 个存钱罐对应的钥匙放置在了第 x 个存钱罐中。

输出描述

输出一个整数,表示能打开所有存钱罐的情况下,需要破坏的存钱罐的最少数量。

输入输出样例

示例 1

输入

4
2
1
2
4

输出

2

运行限制

  • 最大运行时间:5s
  • 最大运行内存: 256M

思路:

参考代码:

def hebin(x,y):  #合并x=find_set(x)y=find_set(y)if (x!=y):s[x]=s[y]
def find_set(x):  #查找 if (x!=s[x]):s[x]=find_set(s[x])return s[x]n=int(input())
s=list(range(n+1))  #并查集初始化
ans=0
for i in range(1,n+1):hebin(i,int(input())) #将每个存钱罐和它里面对应能打开的存钱罐编号进行组合
for i in range(1,n+1):if s[i]==i:ans+=1         #此时的存钱罐编号i是并查集树的根节点,ans自增
print(ans)

Python:每日一题之小猪存钱罐(并查集)相关推荐

  1. delphi 多个线程 多个进度条_多线程有哪些优点?- Python每日3题(多线程专题)

    这里是Python7编程挑战-多线程专题! 每天学习3个问题,包括初级,中级,高级问题各1个. 今天是第2天!一起来呀,就7天! 每日3题是麦叔的面试系列专题之一,每天包括初级,中级,高级难度题目各一 ...

  2. linux scrapy 定时任务_写爬虫一定要会scrapy?-Python每日3题(爬虫专题)

    这里是Python7编程挑战-爬虫专题! 每天学习3个问题,包括初级,中级,高级问题各1个. 今天是第2天!一起来呀,就7天! 每日3题是麦叔的面试系列专题之一,每天包括初级,中级,高级难度题目各一道 ...

  3. Python 每日一题(一元二次方程求解)

    Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养. 题目: 输入一个一元二次方程的系数 a, b, c,求解方程的根. 分析:  1.一元二次方程标准形式: (a ≠ ...

  4. Python 每日一题(猴子吃桃问题)

    Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养. 题目: 一个猴子第一天摘下若干个桃子,当即吃了1半,还不过瘾,又多吃了1个.第二天早上吃了剩下桃子的1半,以后每天 ...

  5. python每日一题今天的答案_python每日一题总结1

    每日一题1 1. 写出python中import 导入库的几种常见写法 举例:import math from math imourt sqrt 每日一题2 1. print 1000L  的结果 答 ...

  6. python3 多线程 threading.local 代理_threading.local的作用?Python每日3题(多线程专题)...

    这里是Python7编程挑战-多线程专题! 每天学习3个问题,包括初级,中级,高级问题各1个. 今天是第5天!一起来呀,就7天!每日3题是麦叔的面试系列专题之一,每天包括初级,中级,高级难度题目各一道 ...

  7. 旧瓶装新酒系列-Python每日多题(一)

    项目结束,终于有时间静下心来好好学习Python了.对于Python,我还是新手,只大概看过一遍<A byte of Python>.准备直接做些小的练习,题目就照搬Java的和C的经典课 ...

  8. python每日一题公众号_python每日一题总结4

    20180609 qzd 每日一题14 输入三个整数x,y,z,请把这三个数由小到大输出. my code x=int(input('x:')) y=int(input('y:')) z=int(in ...

  9. 蓝桥杯刷题013——小猪存钱罐(并查集)

    [题目描述] Byteazar the Dragon 拥有 N 个小猪存钱罐.每一个存钱罐能够用相应的钥匙打开或者被砸开.Byteazar 已经将钥匙放入到一些存钱罐中.现在已知每个钥匙所在的存钱罐, ...

最新文章

  1. R语言set.seed函数的意义及实战
  2. C#基础总结之四List-Hashtable-冒泡排序
  3. 检测xcode工程中配置信息是否正确
  4. 【渝粤题库】广东开放大学 PHP动态网站设计 形成性考核
  5. 463. 岛屿的周长
  6. Visual.Assist.X 菜单汉化
  7. (转) 深度模型优化性能 调参
  8. 03、三种简单的计时器
  9. 数字电子技术基础(十三):时序逻辑电路(状态机)(移位寄存器、计数器、信号发生器)
  10. Mac安装telnet工具和使用
  11. 月圆之夜,更新了一下1024客户端【强烈推荐更新】
  12. kali系统修改中文
  13. docker---dockerfile 编写优化
  14. 看到“东大研究生”吐槽华为cpu,海思,请知道的人科普一下吧,我抛砖引玉
  15. Python 生成一组随机数列表
  16. 陈景润定理的数学证明何处寻?
  17. bzoj 3197: [Sdoi2013]assassin 树哈希+树形dp+费用流
  18. 手写demo了解vue响应式原理,订阅模式,观察者模式
  19. 不花钱,模拟登录古诗中文网
  20. java游戏管理器 闪退_手游频繁崩溃”闪退”? 从程序上找原因

热门文章

  1. 路由器自动选择游戏服务器,教你从头写游戏服务器框架(3)
  2. 多端融合,智能生态链,星纪时代的星纪互联还能遇见多少可能?
  3. AdminEAP框架-头像上传功能实现
  4. [转载]儿童画教学-理论篇_我是亲民_新浪博客
  5. go语言for关键字的基本使用方法
  6. 对达梦数据库归档的简单理解
  7. 中国氢氧化钡行业研究与投资战略报告(2021版)
  8. 2021 千字大厂面经 个人成长经验分享
  9. 基于Aspose Task进行MS Project导出-无限制版
  10. 性能测试之常见性能缺陷