Cod sursa(job #79844)
| Utilizator | Data | 24 august 2007 02:24:30 | |
|---|---|---|---|
| Problema | PScPld | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
#include<string.h>
char sir[1000],*p,*q,*pp,*qq;
long int i,l;
long long int cont,nr;
int main()
{
FILE *f,*g;
f=fopen("pscpld.in","r");
g=fopen("pscpld.out","w");
fgets(sir,1000000,f);
l=strlen(sir);
sir[l-1]=0;
p=&sir[0];
p--;
*p=0;
p++;
while(*p)
{ q=p;nr=0;
while(*q==*p){q++;nr++;}
cont=cont+(nr*(nr+1))/2;
pp=p;pp--;qq=q;
while(*pp&&(*pp==*qq)){pp--;qq++;cont++;}
p=q;
}
fprintf(g,"%lld\n",cont);
return 0;
}
