fzu Problem 2154 YesOrNo

阅读: 评论:0

fzu  Problem 2154 YesOrNo

fzu Problem 2154 YesOrNo

Problem 2154 YesOrNo

Accept: 61    Submit: 129 Time Limit: 1000 mSec    Memory Limit : 32768 KB

Problem Description

A国认为如果字符串a可以通过操作X变成字符串b,就认为是一样的字符串。

操作X:将字符串分为两部分,然后调换位置,操作次数不限。W=xy,W’=yx。

Input

有多组测试数据,处理到文件结尾。每组测试数据包含两个个字符串(包含英文字符和数字,长度为[1,500000])。

Output

对于每组测试数据,如果两个字符串是相同的,输出Yes或者是No。

Sample Input

YesOrNo No Or Yes YesOr N o r NoYesO

Sample Output

No Yes


这个问题,发现了规律就很水,没有发现就需要仔细思索一番了,看到这个题目我以为是一个dp的题目。所以 就放弃了,现在想想发现竟然是这么的水,让我很难过。
规律是这样得,因为是截的,所以无论截多少次,都会有这么一个规律:

所以就是这么看一下就是了,很简单是不是。


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{int i,j,k,l,t;char a[500010];char b[500010];while(scanf("%s%s",a,b)!=EOF){int la=strlen(a);int lb=strlen(b);if(la!=lb){printf("Non");continue;}if(strcmp(a,b)==0){printf("Yesn");continue;}int flag=0;int f1=1;int f2=1;for(i=0;i<la;i++){if(a[i]==b[0]){t=1;f1=1;f2=1;for(j=i+1;j<la;j++,t++){//printf("%c  %d  %c  %dn",a[j],j,b[t],t);if(a[j]!=b[t]){f1=0;//printf("cccn");break;}}if(f1==0)continue;//printf("bbbbbn");t=la-i;int h;//printf("tttttt  %d %dn",t,i);for(j=0;j<i;j++,t++){//printf("jfklsdjn");// printf("ggggg  %c  %d  %c  %dn",a[j],j,b[t],t);if(a[j]!=b[t]){f2=0;break;}}if(f2==0)continue;if(f1&&f2){//printf("aaaaan");flag=1;break;}}}if(flag){printf("Yesn");}else{printf("Non");}}return 0;
}




















































本文发布于:2024-02-03 00:33:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170689158447487.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Problem   fzu   YesOrNo
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23