Cod sursa(job #125232)

Utilizator panlauPantelimon Laurentiu panlau Data 20 ianuarie 2008 12:11:40
Problema Restante Scor 10
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasele 5-8 Marime 0.76 kb
#include <stdio.h>
#include <string.h>
long int n,i,j,t[3000],ok,nr,y;
char s[16],v[3000][16];
char *p,s1[16];
FILE *f,*g;
int main()
{
	f=fopen("restante.in","r");
	fscanf(f,"%ld\n",&n);
	for(i=0;i<n;i++)
	{
		fgets(s,16,f);
		strcpy(v[i],s);
	}
	fclose(f);
	nr=-1;
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			strcpy(s,v[i]);
			strcpy(s1,v[j]);
			while((s[0]!=0)&&(strchr(s1,s[0])!=NULL))
			{
				p=strchr(s1,s[0]);
				strcpy(s,s+1);
				strcpy(p,p+1);
			}
			if(s[0]==s1[0])
			{
				nr++;
				t[nr]=i;
				nr++;
				t[nr]=j;
			}
		}
	}
	g=fopen("restante.out","w");
	y=0;
	for(i=0;i<n;i++)
	{
		ok=0;
		for(j=0;j<=nr;j++)
			if(t[j]==i)
				ok=1;
		if(ok==0)
			y++;
	}
	fprintf(g,"%ld",y);
	fclose(g);
	return 0;
}