本文主要是介绍FZU - 2154 - YesOrNo (字符串~),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Accept: 129 Submit: 283
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
Sample Output
思路:就是将第一个字符串旋转,看能不能得到第二个字符串
AC代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;int main() {string str1, str2;while(cin >> str1 >> str2) {int i, len = str1.size(), len2 = str2.size();str1 += str1;for(i=0; i < len; i++)if(str1[i] == str2[0]) {int t = 0;while(str1[i + t] == str2[t]) t++;if(t == len2) break;}if(i<len) printf("Yes\n");else printf("No\n");}return 0;
}
这篇关于FZU - 2154 - YesOrNo (字符串~)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!