#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<string>
#include<cstring>
#include<cmath>
#include<map>
#define ll long long
using namespace std;
struct node
{
char key;
int next;
}p[1000005];
int main()
{
char c;
int n,b1,b2,l1,l2,i,j,x,y,ans;
while(scanf("%d%d%d",&b1,&b2,&n)!=EOF)
{
l1 = l2 = 0;
for(i = 1;i<=n;i++)
{
scanf("%d %c %d",&x,&c,&y);
p[x].key = c;
p[x].next = y;
}
i = b1;
while(i!=-1)
{
i = p[i].next;
l1++;
}
i = b2;
while(i!=-1)
{
i = p[i].next;
l2++;
}
if(l1>l2)for(i = 0;i<l1-l2;i++)b1 = p[b1].next;
else for(i = 0;i<l2-l1;i++)b2 = p[b2].next;
int f = 0;
while(b1!=-1)
{
if(b1 == b2)
{
ans = b1;
f = 1;
break;
}
b1 = p[b1].next;
b2 = p[b2].next;
}
if(f)printf("%05d\n",ans);
else printf("-1\n");
}
return 0;
}
pat1032 Sharing
最新推荐文章于 2021-05-29 13:39:21 发布