Alex_tz307

Edit Distance

Sep 12th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. ifstream fin ("siruri2.in");
  6. ofstream fout ("siruri2.out");
  7.  
  8. char s[512], t[512];
  9. int L[512][512], n, m;
  10.  
  11. int main () {
  12.     fin.getline (s, sizeof(s));
  13.     fin.getline (t, sizeof(t));
  14.     n = strlen(s), m = strlen(t);
  15.     for (int i = 1; i <= n; ++i) {
  16.         L[i][0] = i;
  17.         if (s[i - 1] >= 'A' && s[i - 1] <= 'Z') s[i - 1] += 32;
  18.     }
  19.     for (int i = 1; i <= m; ++i) {
  20.         L[0][i] = i;
  21.         if (t[i - 1] >= 'A' && t[i - 1] <= 'Z') t[i - 1] += 32;
  22.     }
  23.     for (int i = 1; i <= n; ++i)
  24.     for (int j = 1; j <= m; ++j)
  25.     if (s[i - 1] == t[j - 1]) L[i][j] = L[i - 1][j - 1];
  26.     else L[i][j] = min (min (L[i - 1][j], L[i - 1][j - 1]), L[i][j - 1]) + 1;
  27.     fout << L[n][m];
  28.     fin.close();
  29.     fout.close();
  30.     return 0;
  31. }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment