fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n, m, z;
  8. string a, b, c, d;
  9. cin>>a; // Вводим строку A
  10. cin>>b; // Вводим строку B
  11. d = b; // Строку B будем хранить в переменной d
  12. n = b.length(); // В переменной n храним длину строки B
  13. m = a.length(); // В переменной m храним длину строки A
  14. c = a.substr(m - n, n); // Создаём подстроку
  15. if(a.find(b) == EOF) // Ищем в строке A строку B
  16. {
  17. for (int i = 1; i<=n && b != c; i++) // Удаляем символы в конце первой строки и начале второй, пока они не будут равны
  18. {
  19. b.erase(n - i,1);
  20. c.erase(0, 1);
  21. }
  22. z = c.length(); // В переменной z храним длину подстроки
  23. d.erase(0,z); // Удаляем из строки B элементы подстроки
  24. cout << a + d; // Выводим такую строку, которая содержит в себе и A и B
  25. }
  26. else cout << a; // Выводим строку A
  27. return 0;
  28. }
Success #stdin #stdout 0s 4208KB
stdin
Standard input is empty
stdout
Standard output is empty