zcmu:
1600: 卡斯丁狗要吃糖葫芦
Time Limit: 1 Sec Memory Limit: 128 MB
[Submit][Status][Web Board]
Description
卡斯丁狗喜欢吃糖葫芦(喜欢前面再加两个字“并不”),但是,但是,他很挑剔,他只吃这样的,就是这样的,就是,就是不管你从哪一头吃,看起来都是一样的,卡斯丁狗给你了一个很长的串,他记得这个很长的串有N个长度一样且满足上述的条件的串组成,你告诉他,他有没有记错。
Input
一个字符串,和一个数N(N<=1000)
Output
YES或者NO
Sample Input
abbatxxt 2
abbatxtc 2
Sample Output
YES
NO
HINT
Source
//简单题~
AC_code~:
#include <stdio.h>
#include <string.h>
char a[10000],b[10000];
bool H(char b[],int len_b)
{
int z = len_b / 2;
for(int i = 0,j = len_b-1; i < z; i++,j--)
{
if(b[i] != b[j])
return false;
}
return true;
}
int main()
{
int n;
while(~scanf("%s%d",a,&n))
{
int len_a = strlen(a),len_b,flag = 0;
if(len_a%n!=0)
printf("NO\n");
else
{
len_b = len_a / n;
char *p = a,*q = a+len_a-len_b;
while(p<=q)
{
memset(b,'\0',sizeof(b));
strncpy(b,p,len_b);
if(H(b,len_b))
flag = 1;
else
{
flag = 0;
break;
}
p += len_b;
}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
memset(a,'\0',sizeof(a));
}
return 0;
}