4 solutions
-
3
#include<bits/stdc++.h> using namespace std; const int N=3010; int f[N][N]; int main() { string s1,s2; cin>>s1>>s2; s1=" "+s1; s2=" "+s2; int n=s1.size(),m=s2.size(); for(int i=1;i<=n;i++) { f[i][0]=i; } for(int i=1;i<=m;i++) { f[0][i]=i; } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { f[i][j]=min(f[i-1][j],f[i][j-1])+1; if(s1[i]==s2[j]) { f[i][j]=min(f[i][j],f[i-1][j-1]); } else { f[i][j]=min(f[i][j],f[i-1][j-1]+1); } } } cout<<f[n][m]; return 0; }
Information
- ID
- 984
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 46
- Accepted
- 7
- Uploaded By