Cod sursa(job #2166851)
| Utilizator | Data | 13 martie 2018 19:12:39 | |
|---|---|---|---|
| Problema | Ghiozdan | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
#include <string.h>
using namespace std;
int n,m,i,k,j,a[20001][20001];
char s1[20001],s2[20001];
ifstream f("edist.in");
ofstream g("edist.out");
int main()
{
f>>n>>m>>k;
for(i=1;i<=n;i++) f>>s1[i];
for(j=1;j<=m;j++) f>>s2[j];
for(i=1;i<=n+1;i++) a[i][1]=i;
for(i=1;i<=m;i++) a[1][i]=i;
for(i=2;i<=n+1;i++)
for(j=2;j<=m+1;j++) if(s1[i-1]==s2[j-1]) a[i][j]=a[i-1][j-1];
else a[i][j]=min(a[i-1][j],min(a[i][j-1],a[i-1][j-1]))+1;
g<<a[n+1][m+1];
return 0;
}
