fzu Problem 2154 YesOrNo
2014-04-03 11:00
381 查看
Problem 2154 YesOrNo
Accept: 61 Submit: 129
Time Limit: 1000 mSec Memory Limit : 32768 KB
A国认为如果字符串a可以通过操作X变成字符串b,就认为是一样的字符串。
操作X:将字符串分为两部分,然后调换位置,操作次数不限。W=xy,W’=yx。
有多组测试数据,处理到文件结尾。每组测试数据包含两个个字符串(包含英文字符和数字,长度为[1,500000])。
对于每组测试数据,如果两个字符串是相同的,输出Yes或者是No。
YesOrNo
NoOrYes
YesOrNo
rNoYesO
No
Yes
这个问题,发现了规律就很水,没有发现就需要仔细思索一番了,看到这个题目我以为是一个dp的题目。所以
就放弃了,现在想想发现竟然是这么的水,让我很难过。
规律是这样得,因为是截的,所以无论截多少次,都会有这么一个规律:
![](https://img-blog.csdn.net/20140403105941078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VyZV9fd29sZg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
所以就是这么看一下就是了,很简单是不是。
Time Limit: 1000 mSec Memory Limit : 32768 KB
![](http://acm.fzu.edu.cn/image/prodesc.gif)
Problem Description
A国认为如果字符串a可以通过操作X变成字符串b,就认为是一样的字符串。操作X:将字符串分为两部分,然后调换位置,操作次数不限。W=xy,W’=yx。
![](http://acm.fzu.edu.cn/image/prodesc.gif)
Input
有多组测试数据,处理到文件结尾。每组测试数据包含两个个字符串(包含英文字符和数字,长度为[1,500000])。
![](http://acm.fzu.edu.cn/image/prodesc.gif)
Output
对于每组测试数据,如果两个字符串是相同的,输出Yes或者是No。
![](http://acm.fzu.edu.cn/image/prodesc.gif)
Sample Input
YesOrNoNoOrYes
YesOrNo
rNoYesO
![](http://acm.fzu.edu.cn/image/prodesc.gif)
Sample Output
NoYes
这个问题,发现了规律就很水,没有发现就需要仔细思索一番了,看到这个题目我以为是一个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("No\n"); continue; } if(strcmp(a,b)==0) { printf("Yes\n"); 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 %d\n",a[j],j,b[t],t); if(a[j]!=b[t]) { f1=0; //printf("ccc\n"); break; } } if(f1==0) continue; //printf("bbbbb\n"); t=la-i; int h; //printf("tttttt %d %d\n",t,i); for(j=0;j<i;j++,t++) { //printf("jfklsdj\n"); // printf("ggggg %c %d %c %d\n",a[j],j,b[t],t); if(a[j]!=b[t]) { f2=0; break; } } if(f2==0) continue; if(f1&&f2) { //printf("aaaaa\n"); flag=1; break; } } } if(flag) { printf("Yes\n"); } else { printf("No\n"); } } return 0; }
相关文章推荐
- FZU2154 Problem 2154 YesOrNo
- FZU 2154 YesOrNo
- fzu 2154 YesOrNo
- fzu2154 YesOrNo
- Fzu 2154 YesOrNo【最小表示法】
- AtCoder Grand Contest 019 F Yes or No
- SharePoint 2016 ??? Yes Or No
- 2. 机器学习基石-When can Machine Learn? - Learning to Answer Yes or No
- emacs:yes or no
- linux_Problem when trying to run shell script : No such file or directory
- (组合数学)AtCoder Grand Contest 019 F - Yes or No
- 会员:YES or NO
- AtCoder Grand Contest 019 F - Yes or No
- "Yes" or "No"铪铪铪
- 使用位域来定义位变量,执行位操作,多用于flag变量,YES or NO 的标记
- shell yes_or_no
- HTK的安装和使用(Yes Or No孤立词识别)
- Yes or No
- 【笔记】机器学习基石(二)learning to answer yes or no
- 【AtCoder】【AGC019F】Yes or No