题解 | #小乐乐与字符串#

小乐乐与字符串

https://www.nowcoder.com/practice/e09de1fc11db4a438cf8f0668848660d

#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的个数有关。

全部评论

相关推荐

10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务