Books Exchange

mac2026-05-02  10

题意:给你N个数 第i个人吧书传给第a【i】个人以此类推,需要传几次才能使第i个人传给的人是自己

思路:以前记得做过类似的好像是点名吧。模拟一下就行

#include <iostream> #include<array> #include<bits/stdc++.h> using namespace std; int main() { int t; int a[250]; cin>>t; while(t--) { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int flag=0,sum=0; for(int i=1;i<=n;i++) { flag=0,sum=0; flag=i; while(1) { if(a[flag]==i) break; else { flag=a[flag]; sum++; } } cout<<++sum<<" "; } cout<<endl; } return 0; }
最新回复(0)