Advertisement
Guest User

Untitled

a guest
Feb 21st, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. using namespace std;
  5. vector<int> pf(string s){
  6. int i,j,n=s.size(); vector<int> p(n);
  7. p[0]=0;
  8. for(i=0;i<n;i++)if(s[i]<='Z')s[i]+=32;
  9. for(i=1;i<n;i++){
  10. j=p[i-1];
  11. while(j>0&&s[i]!=s[j])j=p[j-1];
  12. if(s[i]==s[j])j++;
  13. p[i]=j;}
  14. return p;}
  15. int main(){
  16. string a,b,c,d,s; int i,j,k,n;
  17. cin>>a>>b;
  18. s=a+"#"+b; n=s.size(); vector<int> p(n);
  19. p=pf(s); i=p[n-1];
  20. p=pf(b+"#"+a); j=p[n-1];
  21. if(i>j)cout<<b.erase(b.size()-i,i)+a;
  22. else if(j>i)cout<<a.erase(a.size()-j,j)+b;
  23. else{
  24. c=b.erase(b.size()-i,i)+a;
  25. d=a.erase(a.size()-j,j)+b;
  26. if(c<d)cout<<c; else cout<<d;}
  27. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement