Cod sursa(job #353917)

Utilizator TociToxAnonim Anonim TociTox Data 6 octombrie 2009 18:55:19
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<fstream.h>
#include<stdlib.h>


ifstream fin("coins.in");
ofstream fout("coins.out");

typedef struct
{
	short nrzstg,pozinsir;
} galben;

galben v[22];
short linie[22],paftenie_muta,nrgalblin,galbcrt;
int nrtotzerostg;
long N,nrlin,paftenie_castiga=0;


short count_zeros(short pozcrt)
{
	int nrzerostg=0,i=1;
	for(i=1;i<pozcrt;i++)
		if(linie[i]==0) nrzerostg++;
	return nrzerostg;
}

int main()
{
	short i;
	fin>>N;
	for(nrlin=1;nrlin<=N;nrlin++)
    {
		paftenie_muta=1;
		nrgalblin=0;
		nrtotzerostg=0;
		for(i=1;i<=22;i++)
		{ 
			fin>>linie[i];
			if(linie[i]==1)
			{
				nrgalblin++;
				v[nrgalblin].pozinsir=i;
				v[nrgalblin].nrzstg=0;
			}
		}
		// numar zerourile initiale din stanga fiecarui galben;
		for(galbcrt=1;galbcrt<=nrgalblin;galbcrt++)
		{
			v[galbcrt].nrzstg=count_zeros(v[galbcrt].pozinsir);
			nrtotzerostg=nrtotzerostg+v[galbcrt].nrzstg;
		}
        // daca nr.total de zerouri din stanga e par, paftenie castiga
		if (nrtotzerostg % 2==0)
			paftenie_castiga=paftenie_castiga+nrgalblin;
	}
    fout<<paftenie_castiga;
	fin.close();
	fout.close();
	return 0;
}