Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define pb push_back
- #define sz(x) x.size()
- #define F first
- #define S second
- #define mp make_pair
- #define ll long long
- #define sqr(x) ((x)*(x))
- using namespace std;
- ll a[1010][1010], b[100010], c[10010];
- ll mn=1e9, mx=-1e9, ans, cnt, sm;
- bool ok, okk, u[1000010], uu[1000010];
- ll n, m;
- int x, y;
- vector <int> v, vv;
- void dfs(ll l){
- u[l]=1;
- for(int i=1;i<=n;i++){
- if(a[l][i]==1 && !u[i]){
- v.pb(i);
- cout<<i<<" "<<y<<" "<<l<<endl;
- u[i]=1;
- dfs(i);
- }
- }
- }
- void dfsk(ll l){
- uu[l]=1;
- for(int i=1;i<=n;i++){
- if(a[l][i]==1 && !uu[i]){
- vv.pb(i);
- cout<<i<<" "<<x<<" "<<l<<endl;
- uu[i]=1;
- dfsk(i);
- }
- }
- }
- int main(){
- freopen ("input.txt","r",stdin);
- freopen ("output.txt","w",stdout);
- cin>>n;
- cin>>x>>y;
- for(int i=0;i<n-1;i++){
- int k;
- cin>>k;
- a[i+2][k]=1;
- a[k][i+2]=1;
- }
- dfs(y);
- cout<<endl;
- cout<<endl;
- dfsk(x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement