Cod sursa(job #554516)

Utilizator overlord94Branescu Mihai overlord94 Data 14 martie 2011 21:45:20
Problema Text Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
int l[100]={0},n;
char a[300];
using namespace std;

int main()
{
fstream f;
f.open("salut.txt",ios::in);
char *sup,x[100][30],mop[30];
int i=0,max=0,lmax,p,j,n=0,nrtot=0;

while(f>>mop) 
		{
			strcat(a,mop);
			strcat(a," ");
		}


sup=strtok(a," ");
while(sup)
	{	
		i++;
		strcpy(x[i],sup);
		
		sup=strtok(NULL," ");
	}
nrtot=i;
cout<<"nr tot de cuvinte:"<<nrtot<<'\n'<<'\n';
n=i;
max=0;
for(i=n;i>=1;i--)
	{
		lmax=0;
		for(j=i+1;j<=n;j++)
		{
			if(x[j][0]==x[i][strlen(x[i])-1] && l[j]>lmax)
							lmax=l[j];
			
			l[i]=1+lmax;
			
			if(l[i]>max) 
				{
					max=l[i];
					p=i;
				}
		}
	}
cout<<"Numarul maxim de cuvinte ce pot fi eliminate:"<<nrtot-max<<'\n'<<'\n';

cout<<"Sirul de cuvinte este:"<<'\n';
cout<<x[p]<<'\n';
max--; 
while(max)
	{
		i=p+1;
		while(x[p][0]==x[i][strlen(x[i])-1] || l[i]!=max) i++;
		cout<<x[i]<<'\n';
		max--;
		p=i;
	}

f.close();
}