fork download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. int main() {
  6. char s1[2000], s2[2000], secCom[2000], lit[24];
  7. cin.getline(s1, 2000);
  8. int lgs1 = strlen(s1);
  9. cin.getline(s2, 2000);
  10. int lgs2 = strlen(s2);
  11. int maxim = 0, lgsecCom = 0, incepSecCom = 0,
  12. maxLit = 0, incepS1 = 0, k = -1;
  13. for (int i = incepS1; i < lgs1 && lgs1 - i > lgsecCom; ++i){ // doar daca lung. sec. din s1 si s2
  14. int cond = 1;
  15. int nuEste = 1;
  16. for (int l = 0; l <= k; ++l){ // verificam daca literele s-au gasit in S2
  17. if (s1[i] == lit[l]){
  18. cond = 0;
  19. break;
  20. }
  21. }
  22. if (cond == 1){
  23. int nrLit;
  24. for (int j = 0; j < lgs2 && lgs2 - j > lgsecCom && cond == 1; ++j ){ // ramasa de comp. este mai mare decat lg secCom
  25. nrLit = 0;
  26. if (isalpha(s1[i]) && s1[i] == s2[j]){
  27. nuEste = 0;
  28. incepSecCom = i;
  29. int i1 = i;
  30. while (i1 < lgs1){
  31. if (s1[i1] == s2[j]){ // numaram lit. com. din ambele siruri incepand
  32. ++nrLit; // de la pozitiile cu lit egale gasite
  33. ++j;
  34. ++i1;
  35. }
  36. else {
  37. break;
  38. }
  39. }
  40. if (nrLit > maxLit)
  41. maxLit = nrLit; // retinem nr maxim de lit com la fiecare sec
  42. if (nrLit > maxim){
  43. maxim = nrLit;
  44. lgsecCom = strlen(secCom); // retinem sec max com intr-un sir care se reseteaza de la 0 de fiecare data cand primeste alta secv
  45. for (int i = 0; i < lgsecCom; ++i){
  46. secCom[i] = 0;
  47. }
  48. strncpy(secCom, s1 + incepSecCom, nrLit);
  49. lgsecCom = strlen(secCom); // actualizam lung secCom
  50. }
  51. }
  52. }
  53. incepS1 = incepSecCom + maxLit; // poz de la care se va continua comp. in S1
  54. if (nuEste == 1){ // retinem intr-un sir lit. care nu se gasesc in S2
  55. ++k;
  56. lit[k] = s1[i];
  57. }
  58. }
  59. }
  60. cout << secCom;
  61. return 0;
  62. }
Success #stdin #stdout 0s 5308KB
stdin
Tema poemului citat ooooooooooo re
geniu este redata in poemul citat ooooooooooooo
stdout
citat ooooooooooo��,