时间:2016-03-23 14:15:39 星期三
题目编号:[2016-03-23][codeforces][560][D][Equivalent Strings]
题目大意:定义两个字符串相等方式,给出两个字符串,问是否相等
分析:递归判断即可
遇到的问题:长度为奇数的字符串一定不相等
#include <iostream>#include <string>using namespace std;int issame(string str1,string str2){ if(str1 == str2){ return 1; } int m = str1.length(); if(m & 1) return 0; return (issame(str1.substr(0,m/2),str2.substr(m/2,m/2))&&issame(str1.substr(m/2,m/2),str2.substr(0,m/2)))|| (issame(str1.substr(0,m/2),str2.substr(0,m/2))&&issame(str1.substr(m/2,m/2),str2.substr(m/2,m/2)));}int main(){ string str1,str2; cin>>str1>>str2; cout<<(issame(str1,str2)?"YES":"NO")<<'\n'; return 0;}