#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int mp[30][250][250];
int main()
{
int n,u,v,i,j,l,k,p,f;
char s[1024];
while(~scanf("%d",&n))
{
if(n==0) break;
memset(mp,0,sizeof(mp));
while(~scanf("%d%d",&u,&v))
{
if(u==0&&v==0) break;
scanf("%s",s);
l=strlen(s);
for(j=0; j<l; j++)
{
mp[s[j]-‘a‘][u][v]=1;
}
}
for(p=0; p<26; p++)
{
for(k=1; k<=n; k++)
for(i=1; i<=n; i++)
{
if(!mp[p][i][k]) continue;
for(j=1; j<=n; j++)
{
if(k==i||k==j||i==j) continue;
if(mp[p][k][j])
mp[p][i][j]=1;
}
}
}
while(~scanf("%d%d",&u,&v))
{
f=0;
if(u==0&&v==0) break;
for(i=0; i<26; i++)
{
if(mp[i][u][v])
{
printf("%c",‘a‘+i);
f=1;
}
}
if(f==0) printf("-");
printf("\n");
}
printf("\n");
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-25 19:06:49