hdu 3791 二叉搜索树

这题好纠结啊。。字符数组后面没加‘\0'错了好多次。。。。。

但是我搜了下别人代码。。没加'\0'就能AC啊。。不明白。。。。

#include<stdio.h>
#include
<string.h>
#include
<stdlib.h>
#include
<debug.h>
#define M 2001
char A[M],B[M];
char str[11];

void Creattree(char *C,char key,const int top )
{
if(C[top]=='*')
{
C[top]
=key;
}
else
{
if(C[top]>key)
{
Creattree(C,key,top
<< 1);
}
else
{
Creattree(C,key,(top
<< 1)+1);
}
}
//return 0;
}

int main( )
{

int N,len,i;
Debug( );
while(scanf("%d",&N),N)
{
memset(A,
'*',M*sizeof(char));
scanf(
"%s",str);
len
=strlen(str);

for(i=0;i<len;++i)
{
Creattree(A,str[i],
1);
//printf("%s",A);
}
while(N--)
{

memset(B,
'*',M*sizeof(char));
scanf(
"%s",str);

len
=strlen(str);
for(i=0;i<len;++i)
{
Creattree(B,str[i],
1);
}
B[
2001]='\0';
//printf("\n%s\n\n\n%s\n",A,B);
printf("%s\n", !strcmp(A, B) ? "YES" : "NO");
// printf(!strcmp(A,B)?"YES\n":"NO\n");
}
}
return 0;
}

posted on 2011-04-16 09:41  more think, more gains  阅读(217)  评论(0编辑  收藏  举报

导航