Pagini recente » Cod sursa (job #2448805) | Cod sursa (job #897938) | Cod sursa (job #2021276) | Cod sursa (job #848571) | Cod sursa (job #319957)
Cod sursa(job #319957)
#include <fstream.h>
ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");
int c[10][10],i,j,n,m,a[10],b[10],l,sir[100];
int main ()
{
fin>>n>>m;
for(i=1;i<=n;i++)
fin>>a[i];
for(i=1;i<=m;i++)
fin>>b[i];
for(i=n;i>=1;i--)
for(j=m;j>=1;j--)
{
if(a[i]==b[j])
c[i][j]=1+c[i+1][j+1];
else
if(c[i][j+1]>c[i+1][j])
c[i][j]=c[i][j+1];
else
c[i][j]=c[i+1][j];
}
if(n>m)
l=n;
else
l=m;
for(i=n,j=m; i;)
{
if(a[i]==b[j])
sir[i]=a[i],i--,j--,l++;
else
if(c[i-1][j]<c[i][j-1])
j--;
else
i--;
}
fout<<c[1][1]<<'\n';
for(i=1;i<=l;i++)
if(sir[i])
fout<<sir[i]<<" ";
fout<<'\n';
fin.close ();
fout.close ();
return 0;
}