lanqiao oj 1085 小猪存钱罐

简介: lanqiao oj 1085 小猪存钱罐

用户登录

把当前的存钱罐的祖宗变成存有他钥匙的存钱罐

#include<iostream>
#include<algorithm>
#include<cstring>
 
using namespace std ;
const int N = 1e6 +10 ;
int n ;
int s[N] ;
int find(int x ){
  if(x != s[x]) s[x] = find(s[x]);
  return s[x] ; 
}
int main(){
  cin >> n ;
  for(int i = 1 ; i <= n ;i ++) s[i] = i ;
  for(int i = 1 ; i <= n ; i++){
    int x ; cin >> x ;
    if(find(i) != find(x)) s[i] = find(x) ;
  }
  int cnt = 0 ;
  for(int i = 1 ; i <= n ; i++) if(s[i] == i) cnt ++ ;
  cout << cnt << endl ; 
}
目录
相关文章
|
3天前
lanqiao OJ 1030 蓝肽子序列
lanqiao OJ 1030 蓝肽子序列
13 2
|
3天前
lanqiao OJ 1388 寒假作业
lanqiao OJ 1388 寒假作业
15 0
|
3天前
lanqiao OJ 689 四阶幻方
lanqiao OJ 689 四阶幻方
9 0
|
3天前
lanqiao OJ 389 摆花
lanqiao OJ 389 摆花
8 2
|
3天前
lanqiao OJ 364 跳石头
lanqiao OJ 364 跳石头
17 6
|
3天前
lanqiao OJ 649 算式900
lanqiao OJ 649 算式900
9 1
|
3天前
lanqiao OJ 108 发现环
lanqiao OJ 108 发现环
7 1
|
3天前
lanqiao OJ 525 传球游戏
lanqiao OJ 525 传球游戏
11 2
|
1天前
lanqiao oj 1050 补给
lanqiao oj 1050 补给
8 0
|
2天前
lanqiao OJ 1591 “123”
lanqiao OJ 1591 “123”
7 0