Más larga que buscan la misma secuencia de dos cadenas

/ *
// 7 ABDCDCBABC CBABCDCDBA
La misma que la secuencia más larga (no necesariamente consecutivos) 
utilizando una dinámica programación última posición de salida DP lata de dos dimensiones tabla
* /
#include <iostream la> #include <string> using namespace std; int n, m; cadena a, b; int main () { cin >> a >> b; n = a.size (); m = B.Size (); int f [n + 1] [m + 1]; for (int i = 0; i <= m; i ++) { f [0] [i] = 0; } for (int i = 0; i <= n; i ++) { f [i] [0] = 0; } for (int i = 1; i <= n; i ++) for (int j = 1; j <= m; j ++) si (a [i-1] == b [j-1]) f [i] [j] = f [i-1] [j-1] + 1; otro f [i] [j] = max (f [i-1] [j], f [i] [j-1]); cout << f [n] [m] << endl; for (int i = 0; i <= n; i ++) for (int j = 0; j <= m; j ++) { cout << f [i] [j]; si (j% m == 0 && j = 0!) cout << endl; } return 0; }

  

Supongo que te gusta

Origin www.cnblogs.com/Stephen-Jixing/p/12628365.html
Recomendado
Clasificación