Cod sursa(job #25673)

Utilizator xulescuStefu Gabriel xulescu Data 4 martie 2007 14:08:23
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream.h>

int n;
char v[10000][3];

int valid(int i,int j){
	int a=v[i][0]+v[j][0];
	int b=v[i][1]+v[j][1];
	int c=v[i][2]+v[j][2];
	//CAZUL 1
	if(a==0&&b!=0&&c!=0){
		if(b!=1&&c!=1) return (b==c);
		else return 0;
	}
	else if(a!=0&&b==0&&c!=0){
		if(a!=1&&c!=1) return (a==c);
		else return 0;
	}
	else if(a!=0&&b!=0&&c==0){
		if(a!=1&&b!=1) return (a==b);
		else return 0;
	}
	else if(a==0&&b==0&&c!=0){
		if(c!=1) return 1;
		else return 0;
	}
	else if(a==0&&b!=0&&c==0){
		if(b!=1) return 1;
		else return 0;
	}
	else if(a!=0&&b==0&&c==0){
		if(a!=1) return 1;
		else return 0;
	}
	else if(a==0&&b==0&&c==0) return 0;
	if(a!=0&&b!=0&&c!=0)
		if(a!=1&&b!=1&&c!=1)
			return ((a==b)&&(b==c)&&(a==c));

}

int main(){
	int k=0,j,i;
	ifstream f("puteri.in");
	f>>n;
	for(i=0;i<n;i++){ f>>v[i][0]>>v[i][1]>>v[i][2]; }
	f.close();
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
			if(valid(i,j)) k++;
	ofstream g("puteri.out");
	g<<k;
	g.close();
	return 0;
}