xtu oj 1337 Clockwise Or Unclokwise
Clockwise Or Unclokwise
题目描述
我们把一个字符串A按圆圈排列,你可以从圆圈上任意一个字符开始,顺时钟或者逆时钟读若干个字符,请问是否能得到给定的字符串B?比如字符串A="abcde",我们从第2个字符开始,逆时钟读3个字符,可以得到字符串"bae"。
输入
第一行是样例数T(1≤T≤100)。 每个样例的占两行,第一行是字符串A,第二行是字符串B,所有字符串都只含小写英文字母,且长度不超过100个字符。
输出
每行输出一个样例的结果,如果可以输出"Yes",否则输出"No"。
样例输入
5 abcde cbae abcde deab abc abcabc abcb babcba ab aa
样例输出
Yes Yes Yes Yes No
#include <stdio.h> #include <string.h> int main() { int n; scanf("%d",&n); while(n--) { int j=0,i=0,k,flag,s=0; char a[101],b[101]; scanf("%s%s",&a,&b); int len=strlen(a); int len1=strlen(b); for(i=0;i<len;i++) { flag=1; k=i; for(j=0;j<len1;j++) { if(b[j]!=a[k]) { flag=0; break; } k++; if(k==len) k=0; } if(flag==1) { printf("Yes "); s=1; break; } } if(s==0) { for(i=0;i<len;i++) { flag=1; k=i; for(j=0;j<len1;j++) { if(b[j]!=a[k]) { flag=0; break; } k--; if(k<0) k=len-1; } if(flag==1) { printf("Yes "); break; } } if(flag==0) { printf("No "); } } } return 0; }
上一篇:
92天倒计时,蓝桥杯省赛备赛攻略来啦~
下一篇:
漫谈“年轻人”“存款”