2 huziling huziling 于 2015.07.19 21:29 提问

FZU 2057 E 代码对给出的数据正确 递交为wa 求解

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;

}

Csdn user default icon
上传中...
上传图片
插入图片