Cod sursa(job #27513)

Utilizator dragomir_andreiDragomir Andrei dragomir_andrei Data 6 martie 2007 14:42:51
Problema Text Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
char c;
long int lc,m,nc,ni,ns,r0,r1;
int remake()
{ if(lc==m) {ni++;nc++;return 0;}
  if(lc==(m+1)){ns++;nc++;return 0;}
  if(lc>(m+1)){ lc=lc-(m+1);nc++;ns++;r0=lc/nc;r1=lc%nc;m=m+r0;
	    if(r1<ni){ns=ns+r1;ni=ni-r1;return 0;}
	    if(r1>ni){m=m+1;ns=r1-ni;ni=nc-ns;return 0;}
	    {m=m+1;ni=nc;ns=0;return 0;}
	  }
  lc=m-lc;ni++;nc++;r0=lc/nc;r1=lc%nc;m=m-r0;
	if(r1<=ns){ni=ni+r1;ns=ns-r1;return 0;}
	if(r1>ns){m=m-1;ni=r1-ns;ns=nc-ni;return 0;}
  return 0;
}
int main()
{
	ni=0;ns=0;m=0;nc=0;
	FILE *f=fopen("text.in","rb");
	while(!feof(f))
	{   fscanf(f,"%c",&c);
	    if((('a'<=c)&&('z'>=c))||(('A'<=c)&&('Z'>=c))) lc++;
	    else if(lc){remake();lc=0;}
	}
	fclose(f);
	f=fopen("text.out","w");
	fprintf(f,"%ld",m);
	fclose(f);
	return 0;
}