文章
145
粉丝
217
获赞
21
访问
83.9k
第一层(2^0)1个,第二层(2^1)2个,第三层(2^2)4个。。。。。。。。
#include <stdio.h>
#include <string.h>
#include <math.h>
int JudgeSymmetry(char *t,int n)
{
int i = 0,j,k,m,l = 0;
while(i < n)
{
j = pow(2,l);
k = i;
m = k+j-1;
while(k <= m && m < n)
{
if(t[k] != '#' && t[m] == '#' || t[k] == '#' && t[m] != '#')
return 0;
k++;
m--;
}
if(i == 0) i = 1;
else i = i+j;
l++;
}
return 1;
}
int main()
{
char tree[1000];
gets(tree);
int len = strlen(tree);
if(JudgeSymmetry(tree,len)) printf("YES");
else printf("NO");
return 0;
}
登录后发布评论
暂无评论,来抢沙发