pat1032

  1. #include<stdio.h>  
  2. #include<stdlib.h>  
  3. #include<string.h>  
  4.   
  5. struct Node{  
  6.     int next;  
  7.     char ch;  
  8. };  
  9. Node node[100005];  
  10. int vis[100005];  
  11.   
  12. int main(){  
  13.     int start1,start2,N,a,b;  
  14.     char c;  
  15.     scanf("%d%d%d",&start1,&start2,&N);  
  16.     memset(vis,0,sizeof(vis));  
  17.     for(int i=0;i<N;i++){  
  18.         scanf("%d %c %d",&a,&c,&b);  
  19.         node[a].ch=c;  
  20.         node[a].next=b;  
  21.     }  
  22.     while(start1!=-1){  
  23.         vis[start1]=1;  
  24.         start1=node[start1].next;  
  25.     }  
  26.     bool flag=false;  
  27.     int ans;  
  28.     while(start2!=-1){  
  29.         if(vis[start2]==1){  
  30.             flag=true;  
  31.             ans=start2;  
  32.             break;  
  33.         }  
  34.         start2=node[start2].next;  
  35.     }  
  36.     if(flag)  
  37.         printf("%05d\n",ans);  
  38.     else  
  39.         printf("-1\n");  
  40.     //system("pause");  
  41.     return 0;  
  42. }  

猜你喜欢

转载自blog.csdn.net/qq_32631151/article/details/79592672