Mike and Fax
2015-09-15 22:38
441 查看
A. Mike and Fax
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
While Mike was walking in the subway, all the stuff in his back-bag dropped on the ground. There were several fax messages among them. He concatenated these strings in some order and now he has string s.
He is not sure if this is his own back-bag or someone else's. He remembered that there were exactly k messages in his own bag, each
was a palindrome string and all those strings had the same length.
He asked you to help him and tell him if he has worn his own back-bag. Check if the given string s is a concatenation of k palindromes of
the same length.
Input
The first line of input contains string s containing lowercase English letters (1 ≤ |s| ≤ 1000).
The second line contains integer k (1 ≤ k ≤ 1000).
Output
Print "YES"(without quotes) if he has worn his own back-bag or "NO"(without quotes) otherwise.
Sample test(s)
input
output
input
output
Note
Palindrome is a string reading the same forward and backward.
In the second sample, the faxes in his back-bag can be "saddas" and "tavvat".
题意:
是否存在从头到尾k份相同的字符回文串。不在状态所以一直没弄懂什么意思,一直Wa。。。
AC代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<vector>
using namespace std;
typedef __int64 ll;
#define CRL(a) memset(a,0,sizeof(a))
#define T 10100
char s[1005];
int c[1005];
bool find(int i,int j)
{
while(i<j)
{
if(s[i]==s[j])i++,j--;
else break;
}
if(i>=j)return true;
return false;
}
int main()
{
/*freopen("input.txt","r",stdin);*/
int i,k,flag;
while(~scanf("%s",&s))
{
CRL(c);
scanf("%d",&k);flag=1;
int len = strlen(s);
if(len%k!=0){printf("NO\n");continue;}
k=len/k;
for(i=0;i<len;i+=k)
if(!find(i,i+k-1)){flag=0;break;}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
While Mike was walking in the subway, all the stuff in his back-bag dropped on the ground. There were several fax messages among them. He concatenated these strings in some order and now he has string s.
He is not sure if this is his own back-bag or someone else's. He remembered that there were exactly k messages in his own bag, each
was a palindrome string and all those strings had the same length.
He asked you to help him and tell him if he has worn his own back-bag. Check if the given string s is a concatenation of k palindromes of
the same length.
Input
The first line of input contains string s containing lowercase English letters (1 ≤ |s| ≤ 1000).
The second line contains integer k (1 ≤ k ≤ 1000).
Output
Print "YES"(without quotes) if he has worn his own back-bag or "NO"(without quotes) otherwise.
Sample test(s)
input
saba 2
output
NO
input
saddastavvat 2
output
YES
Note
Palindrome is a string reading the same forward and backward.
In the second sample, the faxes in his back-bag can be "saddas" and "tavvat".
题意:
是否存在从头到尾k份相同的字符回文串。不在状态所以一直没弄懂什么意思,一直Wa。。。
AC代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<vector>
using namespace std;
typedef __int64 ll;
#define CRL(a) memset(a,0,sizeof(a))
#define T 10100
char s[1005];
int c[1005];
bool find(int i,int j)
{
while(i<j)
{
if(s[i]==s[j])i++,j--;
else break;
}
if(i>=j)return true;
return false;
}
int main()
{
/*freopen("input.txt","r",stdin);*/
int i,k,flag;
while(~scanf("%s",&s))
{
CRL(c);
scanf("%d",&k);flag=1;
int len = strlen(s);
if(len%k!=0){printf("NO\n");continue;}
k=len/k;
for(i=0;i<len;i+=k)
if(!find(i,i+k-1)){flag=0;break;}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
相关文章推荐
- Codeforces Round #197 (Div. 2)
- Codeforces Round #198 (Div. 1)
- Codeforces 405E Codeforces Round #238 (Div. 2)E
- Codeforces 407C Codeforces Round #239 (Div. 1)C
- CodeForces 449A - Jzzhu and Chocolate
- CodeForces 449 B. Jzzhu and Cities
- Codeforces Round #265 (Div. 2)
- Codeforces #310 div2 C. Case of Matryoshkas
- 状态压缩DP codeforces 244 Problem C. The Brand New Function 和 codeforces 165 E. Compatible Numbers
- codeforces 16 Problem E fish
- Codeforces round #247 for Div. 2
- Codeforces Round #246 (Div. 2)
- Codeforces #264(div 2)D.Gargari and Permutations
- Codeforces Round #236 (Div. 2)------A,B
- codeforces 257 div2 B
- Codeforces Gym100571A Cursed Query
- Codeforces Gym100342E Minima
- Codeforces Gym100342J Triatrip
- Codeforces Gym100286B Blind Walk (dfs)
- Codeforces Gym100342J Triatrip