fork download
  1. #include<bits/stdc++.h>
  2. #define M 2004
  3. using namespace std;
  4.  
  5. string a, b;
  6. int k;
  7. int dp[M][M];
  8.  
  9. int main()
  10. {
  11. ios_base::sync_with_stdio(0);
  12. cin.tie(0); cout.tie(0);
  13.  
  14. cin >> a >> b;
  15. cin >> k;
  16. int n = a.size();
  17. int m = b.size();
  18. a = " " + a;
  19. b = " " + b;
  20. for(int i = 1; i <= n; i++)
  21. dp[i][0] = k * i;
  22. for(int j = 1; j <= m; j++)
  23. dp[0][j] = k * j;
  24. for(int i = 1; i <= n; i++)
  25. {
  26. for(int j = 1; j <= m; j++)
  27. {
  28. dp[i][j] = abs(a[i] - b[j]) + dp[i - 1][j - 1];
  29. dp[i][j] = min(dp[i][j], k + min(dp[i][j - 1], dp[i - 1][j]));
  30. }
  31. }
  32. cout << dp[n][m];
  33. }
  34.  
Success #stdin #stdout 0.01s 5284KB
stdin
cmc
snmn
2
stdout
10