Cod sursa(job #417215)

Utilizator crushackPopescu Silviu crushack Data 14 martie 2010 10:48:19
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
char cuv[36000][17];
bool a[36000];
int main()
{
	int n,i,j,k,l,nr,c;
	char ch[17],chr;
	bool ok;
	freopen("restante.in","r",stdin);
	freopen("restante.out","w",stdout);
	scanf("%d\n",&n);
	nr=0;c=0;
	for (l=0;l<n;l++)
	{
		scanf("%c",&chr);
		ch[0]=0;
		while (chr!='\n')
		{
			ch[0]++;ch[ch[0]]=chr;
			scanf("%c",&chr);
		}
		for (i=0;i<nr;i++)
			if(cuv[i][0]==ch[0])
			{
				ok=false;
				for (j=1;j<=cuv[i][0] && !ok;j++)
				{
					for (k=1;k<=ch[0];k++)
						if (cuv[i][j]==ch[k]) break;
					if (k>ch[0]) ok=true;
				}
				if (ok){ i=nr; break;}
				else if (!ok) { i=0; a[i]=true;break;}
			}
		if (i==nr)
		{
			for (i=0;i<=ch[0];i++)
				cuv[nr][i]=ch[i];
			nr++;
		}
	}
	for (i=0;i<nr;i++)
		if (!a[i]) c++;
	printf("%d",c);
	return 0;
}