Problem Description
随着失忆的加剧,珂朵莉已经不能记清妖精仓库里小妖精们的名字了。
好在珂朵莉一直有写日记的好习惯,一天,在她读日记的时候,想要知道在自己的日记中对于每个小妖精分别提到过多少次她们的名字。你能告诉她么?
妖精仓库中的小妖精的名字分别为 Nephren Ithea Rhantolk Nopht
Input
一长度行不超过1000的字符串代表日记的内容,输入数据保证不含空格。
Output
输出包含四行,
每行按照样例顺序输出名字及其在日记中被提到的次数。
输出格式请仔细按照示例输出的格式输出。
Sample Input
fdsgfsgfdNephrensNephrenItheagdfRhantolkRhantolkdsdNophtNopht
Sample Output
Nephren: 2
Ithea: 1
Rhantolk: 2
Nopht: 2
直接暴力求解:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[1100],i,s1,s2,s3,s4,l;
s1=s2=s3=s4=0;
scanf("%s",a);
l=strlen(a);
for(i=0; i<l; i++)
{
if(a[i]=='N'&&a[i+1]=='e'&&a[i+2]=='p'&&a[i+3]=='h'&&a[i+4]=='r'&&a[i+5]=='e'&&a[i+6]=='n')
s1++;
if(a[i]=='I'&&a[i+1]=='t'&&a[i+2]=='h'&&a[i+3]=='e'&&a[i+4]=='a')
s2++;
if(a[i]=='R'&&a[i+1]=='h'&&a[i+2]=='a'&&a[i+3]=='n'&&a[i+4]=='t'&&a[i+5]=='o'&&a[i+6]=='l'&&a[i+7]=='k')
s3++;
if(a[i]=='N'&&a[i+1]=='o'&&a[i+2]=='p'&&a[i+3]=='h'&&a[i+4]=='t')
s4++;
}
printf("Nephren: %d\nIthea: %d\nRhantolk: %d\nNopht: %d\n",s1,s2,s3,s4);
return 0;
}