foj
我的代码
#include
#include
int fa[10000+10],ma[10000+10],ch[10000+10],n;
void slove(int x,int y)
{
int t,zd,k=0,flag=0,i,var=0;
char z[10000+5];
if(x
{
t=x; x=y; y=t;
var=1;
}
while(x>y)
{
zd=ch[x];
if(x==fa[zd]) { z[k]='F'; k++;}
else if( x==ma[zd]) { z[k]='M'; k++;}
if(zd==y) {flag=1; break; }
x=zd;
}
if(flag==0) { printf("Relative\n");}
else
{
printf("%d ",var);
for(i=k-1;i>=0;i--)
printf("%c",z[i]);
printf("\n");
}
}
int main()
{
int m,t,i,j,a,b,c,x,y;
scanf("%d",&t);
while(t!=0)
{
t--;
scanf("%d",&n);
memset(fa,0,sizeof(fa));
memset(ma,0,sizeof(ma));
memset(ch,0,sizeof(ch));
for(i=0;i<n/2;i++)
{
scanf("%d%d%d",&a,&b,&c);
ma[a]=c;
fa[a]=b;
ch[b]=a;
ch[c]=a;
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
slove(x,y);
}
}
return 0;
}