lanqiao OJ 182 小朋友崇拜圈

简介: lanqiao OJ 182 小朋友崇拜圈

1.小朋友崇拜圈 - 蓝桥云课 (lanqiao.cn)

从每一个小朋友开始dfs,当找到最后一个崇拜第一个的时候就更新最终值,因为再往下去就陷入死循环了

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
const int N = 5e5 + 10 ;
int n ;
int b[N] ;
int ans ;
struct node{//存当前点,x是下标,y是崇拜的同学
  int x , y ;
  node(int xx, int yy){
    x = xx , y = yy ;
  }
};
vector<node> a ;
bool v[N] ;
void dfs(int u ){
  if(a[0].x == a[u-1].y) {
    ans = max(ans,u) ;
    return ;
  }
  if(!v[a[u-1].y]){
    a.push_back(node(a[u-1].y,b[a[u-1].y])) ;//把当前被崇拜的这个小朋友插入数组中
    v[a[u-1].y] = 1;
    dfs(u+1) ;
  }
  
  
  return ;
}
 
int main(){
  cin >> n ; 
  for(int i = 1 ; i <= n ; i ++){
    cin >> b[i] ;
  }
  
  for(int i = 1 ; i <= n ; i++){
    a.push_back(node(i,b[i])) ;
    memset(v,0,sizeof v) ; 
    v[i] = 1 ;
    dfs(1);
    a.clear() ;
  }
  cout << ans << endl ;
}
目录
相关文章
OpenKruise金丝雀发布过程中,创建出了canary service但没有canary deploy,新老实例均属于同一个deploy,类似多批次发布
OpenKruise金丝雀发布过程中,创建出了canary service但没有canary deploy,新老实例均属于同一个deploy,类似多批次发布
123 1
|
12月前
|
SQL 存储 缓存
阿里云EMR StarRocks X Paimon创建 Streaming Lakehouse
本文介绍了阿里云EMR StarRocks在数据湖分析领域的应用,涵盖StarRocks的数据湖能力、如何构建基于Paimon的实时湖仓、StarRocks与Paimon的最新进展及未来规划。文章强调了StarRocks在极速统一、简单易用方面的优势,以及在数据湖分析加速、湖仓分层建模、冷热融合及全链路ETL等场景的应用。
565 8
阿里云EMR StarRocks X Paimon创建 Streaming Lakehouse
|
12月前
lanqiaoOJ 563 采药
lanqiaoOJ 563 采药
64 6
|
12月前
lanqiaoOJ 1456 括号序列
lanqiaoOJ 1456 括号序列
97 5
|
12月前
lanqiaoOJ 2110 积木画
lanqiaoOJ 2110 积木画
55 1
|
12月前
acwing 173 矩阵距离
acwing 173 矩阵距离
59 0
|
12月前
acwing 1106 山峰和山谷
acwing 1106 山峰和山谷
60 0
|
12月前
acwing 1113 红与黑
acwing 1113 红与黑
59 0
|
12月前
acwing 110 抓住那头牛
acwing 110 抓住那头牛
52 0
|
12月前
acwing 188 武士风度的牛
acwing 188 武士风度的牛
45 0