码迷,mamicode.com
首页 > 其他好文 > 详细

[2016-03-23][codeforces][560][D][Equivalent Strings]

时间:2016-03-23 20:02:15      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

  • 时间:2016-03-23 14:15:39 星期三

  • 题目编号:[2016-03-23][codeforces][560][D][Equivalent Strings]

  • 题目大意:定义两个字符串相等方式,给出两个字符串,问是否相等

  • 分析:递归判断即可

  • 遇到的问题:长度为奇数的字符串一定不相等

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int issame(string str1,string str2){
  5. if(str1 == str2){
  6. return 1;
  7. }
  8. int m = str1.length();
  9. if(m & 1) return 0;
  10. 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)))||
  11. (issame(str1.substr(0,m/2),str2.substr(0,m/2))&&issame(str1.substr(m/2,m/2),str2.substr(m/2,m/2)));
  12. }
  13. int main(){
  14. string str1,str2;
  15. cin>>str1>>str2;
  16. cout<<(issame(str1,str2)?"YES":"NO")<<‘\n‘;
  17. return 0;
  18. }




[2016-03-23][codeforces][560][D][Equivalent Strings]

标签:

原文地址:http://www.cnblogs.com/qhy285571052/p/2c96d976b4763782f24f6dace5d5a999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!