首页 > 代码库 > CodeForces 559B Equivalent Strings

CodeForces 559B Equivalent Strings

Portal: http://codeforces.com/problemset/problem/559/B

年轻时第一次cf的D题,当时直接写了个递归结果爆炸

做法大概是递归时候按字典序乱搞一下

然后就nlogn水过了

技术分享
 1 #include<iostream> 2 #include<algorithm> 3 #include<set> 4 #include<cstdio> 5 #include<cstdlib> 6 #include<cmath> 7 #include<cstring> 8 using namespace std; 9 #define FOR(i,j,k) for(int i=j;i<=k;i++)10 #define FORD(i,j,k) for(int i=j;i>=k;i--)11 #define LL long long12 #define SZ(x) int(x.size())13 string a,b;14 string cg(string s)15 {16     if(SZ(s)%2==1) return s;17     string aa=s.substr(0,(SZ(s))/2);18     string bb=s.substr((SZ(s))/2,(SZ(s))/2);19     aa=cg(aa);20     bb=cg(bb);21     if(aa<bb) return aa+bb; else return bb+aa; 22 }23 int main()24 {25 cin>>a>>b;26 a=cg(a);27 b=cg(b);28 if(a==b) cout<<"YES"; else cout<<"NO";29 return 0;30 }
乱搞黑科技

P.S 听说有人直接暴力过了这题 %%%

CodeForces 559B Equivalent Strings