Cod sursa(job #124919)

Utilizator bazubBazu Bogdan bazub Data 20 ianuarie 2008 10:12:12
Problema Restante Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasa a 9-a Marime 0.72 kb
#include<fstream.h>
#include<string.h>
long n,m,i,j,k,r,rez,cate,sir[36002][20];
char a[22];
int main(){
	ifstream fin("restante.in");
	ofstream fout("restante.out");
	fin>>n;
	fin.getline(a,20);
	for(i=1;i<=n;i++){
		fin.getline(a,20);
		m=strlen(a);
		for(j=0;j<m;j++)
			sir[i][j+2]=a[j]-'a'+1;
		sir[i][0]=m;
	}
	for(i=1;i<=n;i++)
		if(sir[i][1]!=-1)
			for(j=i+1;j<=n;j++){
				rez=0;
				if(sir[j][1]!=-1)
					if(sir[i][0]==sir[j][0])
						for(k=2;k<=sir[i][0]+2;k++){
							r=0;
							r=sir[i][k]^sir[j][k];
							rez=rez^r;
						}
				if(rez==0){
					sir[i][1]=-1;
					sir[j][1]=-1;
				}

			}
	for(i=1;i<=n;i++)
		if(sir[i][1]==0)
			cate++;
	fout<<cate;
	return 0;
}