3 solutions
-
0
Guest MOD
-
0
#include <bits/stdc++.h> using namespace std; int n,m,c[200050],p[200050],q,x,ans; bool tong[200050]; void dfs(int t){ ans++; if(tong[c[t]]){ return ; } tong[c[t]]=1; dfs(p[t]); } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>c[i]; } for(int i=1;i<=n;i++){ cin>>p[i]; } cin>>q; for(int i=1;i<=q;i++){ cin>>x; for(int j=1;j<=m;j++){ tong[j]=0; } ans=0; dfs(x); cout<<ans<<endl; } return 0; }
Information
- ID
- 573
- Time
- 2000ms
- Memory
- 512MiB
- Difficulty
- 10
- Tags
- (None)
- # Submissions
- 8
- Accepted
- 3
- Uploaded By