Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <vector>
- #include <iostream>
- using namespace std;
- int main()
- {
- string s, t;
- cin >> s >> t;
- int n = s.length(), m = t.length(), i, j;
- vector < vector <int> > dp(n, vector <int> (m));
- if(s[0] != t[0]) dp[0][0] = 1;
- for(i = 1; i < n; i++) dp[i][0] = i;
- for(j = 1; j < m; j++) dp[0][j] = j;
- for(i = 1; i < n; i++) for(j = 1; j < m; j++) dp[i][j] = min(dp[i - 1][j] + 1, min(dp[i][j - 1] + 1, dp[i - 1][j - 1] + ((s[i] != t[j]) ? 1 : 0)));
- printf("%d", dp[n - 1][m - 1]);
- return 0;
- }
Add Comment
Please, Sign In to add comment