#include #include ifstream in("fruits.in"); char a[1000], b[1000], c[1000], d[1000]; int an, bn,cn; int tab[1000][1000]; #define MAX(a,b) ((a)>(b)?(a):(b)) int main() { while (in >>a >> b){ an = strlen(a); bn = strlen(b); // cout <=0; i--) for (j=bn-1; j>=0; j--) if (a[i] != b[j]) tab[i][j] = MAX(tab[i][j+1], tab[i+1][j]); else tab[i][j] = 1+tab[i+1][j+1]; i=j=0; cn = 0; while (tab[i][j]) { if (a[i] == b[j]) { c[cn++] = a[i]; i++; j++; } else if (tab[i+1][j] >=tab[i][j+1] ) i++; else j++; } c[cn] = '\0'; // cout << c; i=j=0; int k, dn; k=dn=0; for (; i