fork download
  1. #include <stdio.h>
  2.  
  3. int A[100001],B[100001];
  4. int L[100001],R[100001];
  5. int parent[100001];
  6.  
  7. int main() {
  8.  
  9. int n,a,b,c,d,sum=2;
  10. scanf("%d",&n);
  11. int i;for(i=1;i<=n;i++){
  12. scanf("%d %d",&a,&b);
  13. if(a) L[i]=sum++;
  14. if(b) R[i]=sum++;
  15. parent[L[i]]=i;
  16. parent[R[i]]=i;
  17. }
  18. int cnt=0,last;
  19. scanf("%d %d",&a,&b);
  20. while(a>=1){
  21. A[a]=cnt;
  22. a=parent[a];
  23. cnt++;
  24. }
  25. cnt=0;
  26. while(b>=1){
  27. B[b]=cnt;
  28. if(A[b]==B[b]&&B[b]) {
  29. last=A[b]+B[b];
  30. break;
  31. }
  32. b=parent[b];
  33. cnt++;
  34. }
  35.  
  36. for(i=1;i<=b;i++)
  37. printf("%d %d\n",A[i],B[i]);
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 11368KB
stdin
8
1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0
1 2
stdout
Standard output is empty