Cod sursa(job #903416)
| Utilizator | Data | 1 martie 2013 20:36:02 | |
|---|---|---|---|
| Problema | Subsir | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.09 kb |
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
ifstream f("subsir.in");
ofstream g("subsir.out");
char s[600], v[600];
int n, m, k, a[600][600];
int main()
{int i, j;
f>>s>>v;
n=strlen(s); //banana
m=strlen(v); //oana
for(i=0; i<=m+1 || i<=n+1; i++)
a[0][i]=0;
a[1][0]=0;
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{if(v[i]==s[j])
{a[i+1][j+1]=a[i][j]+1;
k=1;}
else
{if(a[i][j+1]>a[i+1][j])
a[i+1][j+1]=a[i][j+1];
else
a[i+1][j+1]=a[i+1][j];
k++;}
}
}
cout<<k<<endl;
for(i=0; i<=m; i++){
for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl;}
g<<a[m][n]%666013;
return 0;}
