#include <stdio.h>
#include <string.h>
int main()
{
char s[8000]={0};
gets(s);
long long i,c=0,ch=0,chn=0;
while(s[i])
{
if(s[i]=='C')
c++;
else if(s[i]=='H')
ch=ch+c;
else if(s[i]=='N')
chn=chn+ch;
i++;
}
printf("%lld",chn);
return 0;
}
/*#include <stdio.h>
#include <string.h>
int main()
{
char s[8000];
gets(s);
int i,j,k,siz=strlen(s),sum=0;
for(i=0;i<siz;i++)
{
for(j=i;j<siz;j++)
{
for(k=j;k<siz;k++)
{
if(s[i]=='C'&&s[j]=='H'&&s[k]=='N')
{
sum++;
}
}
}
}
printf("%d",sum);
return 0;
}*/上面的方法简单且普适,下面的方法时间长且次数多的时候不能普适
ch的个数其实和前面出现的c的个数有关,chn的个数和n之前ch的个数有关。

京公网安备 11010502036488号