Cod sursa(job #90482)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 9 octombrie 2007 15:05:55
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<fstream.h>
#include<math.h>
//using namespace std;
int nr[10000],u,n;
long S,P;
char sir[10000],a[10];
ifstream fin("3-par.in");
ofstream fout("paritate.out");
void sirul(){
	for (int i=1;i<8;i++){
	     S+=a[i]-'0';
	     P+=pow(2,7-i)*(a[i]-'0');}
}
void citire(){
	while (!fin.eof()){
	P=0;
	S=0;
		fin>>a[0]>>a[1];
		if (a[0]==1&&a[1]==0){
			sir[u++]='*';
		for (short i=0;i<8;i++)
			fin>>a[i];
		    sirul();
			if (a[0]=='0'&&S%2==0||a[0]=='1'&&S%2==1)
			   sir[u++]=P;
			else
		       nr[n++]=u+n;}
		else{
		  for (short j=2;j<8;j++)
		   fin>>a[j];
		   sirul();
		    if (S%2==a[0]-'0'||S%2==a[0]-'0')
			   sir[u++]=P;
			else
		       nr[n++]=u+n;}
	}}
void afisare(){
	if (n==0){
	   fout<<"DA"<<"\n";
	for (int i=0;i<u-1;i++)
	   if (sir[i]=='*')
	       fout<<"\n";
	   else
	      fout<<sir[i];}
	else{
      fout<<"NU\n";
     for (int j=0;j<n;j++)
		 fout<<nr[j]<<" ";}}
int main(){
citire();
afisare();
fin.close();
fout.close();
return 0;
}