Pagini recente » Cod sursa (job #441877) | Cod sursa (job #2139760) | Cod sursa (job #2186432) | Cod sursa (job #814987) | Cod sursa (job #123244)
Cod sursa(job #123244)
#include<stdio.h>
#include<string.h>
char *s,sir[2000005];
long int i,lung[2000005],ls,left,right,cont;
int main()
{
FILE *f,*g;f=fopen("pscpld.in","r");g=fopen("pscpld.out","w");
s=&sir[0];fscanf(f,"%s",s);
ls=strlen(s);
for(i=ls-1;i>=0;i--)
{ s[2*i+1]=s[i];
s[2*i+2]=' ';
}
s[0]=' ';
for(i=1;i<=2*ls-1;)
{ left=i-1;right=i+1;
if(s[left]==s[right])
{ cont++;
while(left>=0&&right<=2*ls&&s[left]==s[right])
{ lung[i]++;
lung[right]=lung[left];
if(lung[right])cont++;
left--;right++;
}
i=right-1;
}
else i++;
}
fprintf(g,"%ld\n",cont);
return 0;
}