Cod sursa(job #577285)

Utilizator mihai_bogdaannMihai Bogdan mihai_bogdaann Data 9 aprilie 2011 23:09:14
Problema Subsir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream.h>
#define MAX(X,Y) ((X) (Y)) ? X : Y 
ifstream fin("subsir.in");
ofstream fout("subsir.out");
char a[500],b[500];
int sol[500][500],n,m,i,j,contor;
int main()
{
	fin.getline(a,500);
	fin.getline(b,500);
	n=strlen(a);
	m=strlen(b);
	for(i=n-1;i>=0;i--)
	{
		for(j=m-j;j>=0;j--)
		{
			if(a[i]==b[j])
				sol[i][j]=sol[i+1][j+1]+1;
			else
			{
				if(sol[i+1][j]>sol[i][j+1])
					sol[i][j]=sol[i+1][j];
				else
					sol[i][j]=sol[i][j+1];
			}
		}
	}
	
	for(i=0;i<=n;i++)
		for(j=1;j<=m;j++)
			if(sol[i][j]==sol[0][0])
				contor++;
	fout<<contor;
	return 0;
}