Pagini recente » Cod sursa (job #1616574) | Cod sursa (job #2828907) | Cod sursa (job #1140581) | Monitorul de evaluare | Cod sursa (job #1371429)
#include<fstream>
#include<string.h>
using namespace std;
ifstream fin("siruri2.in");
ofstream fout("siruri2.out");
char s1[500],s2[500];
int NrMin[501][501];
int m,n,cost;
int ld(char s[],char t[])
{
int i, j;
for (i=0; i<n; i++) NrMin[i][m]=n-i;
for (j=0; j<m; j++) NrMin[n][j]=m-j;
for (i=n-1; i>=0; i--)
for (j=m-1; j>=0; j--)
if (s1[i]==s2[j]) NrMin[i][j]=NrMin[i+1][j+1];
else
{
NrMin[i][j]=1+NrMin[i+1][j+1];
if (NrMin[i][j]>1+NrMin[i+1][j])NrMin[i][j]=1+NrMin[i+1][j];
if (NrMin[i][j]>1+NrMin[i][j+1])NrMin[i][j]=1+NrMin[i][j+1];
}
/*int i,j;
for(i=0;i<=m;i++)
d[i][0]=i;
for(j=0;j<=n;j++)
d[0][j]=j;
for(j=1;j<=n;j++)
for(i=1;i<=m;i++)
{
if(s[i]==t[i])
d[i][j]=d[i+1][j+1];
else
{
d[i][j]=d[i-1][j-1]+1;
d[i][j]=min(d[i][j],d[i-1][j]+1);
d[i][j]=min(d[i][j],d[i][j-1]+1);
}
}
for(i=0;i<=m;i++)
{
for(j=0;j<=n;j++)
fout<<d[i][j]<<" ";
fout<<'\n';
}*/
return NrMin[0][0];
}
int main()
{
fin.get(s1,500);
fin.get();
int i,j;
fin.get(s2,500);
m=strlen(s1);
n=strlen(s2);
strlwr(s1);
strlwr(s2);
fout<<ld(s1,s2);
return 0;
}