Pagini recente » Cod sursa (job #1955019) | Cod sursa (job #666583) | Cod sursa (job #2624100) | Cod sursa (job #1336820) | Cod sursa (job #1993354)
#include <iostream>
#include <set>
#include <vector>
#include <iomanip>
#include <fstream>
#include <algorithm>
using namespace std;
string a, b;
int dp[505][505];
void read() {
cin >> a >> b;
int n = a.size();
int m = b.size();
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
if(a[i - 1] == b[j - 1]) {
if((i - 1) && (j - 1)) {
if(dp[i - 1][j - 1] == 0) {
dp[i][j] = 1;
} else {
dp[i][j] = dp[i - 1][j - 1];
}
} else {
dp[i][j] = 1;
}
} else {
dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1];
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
cout << dp[i][j] << " " << i << " " << j << endl;
}
}
cout << dp[n][m];
}
int main() {
read();
return 0;
}