题目描述
一个长度为 ll 的字符串中被反复贴有 boy
和 girl
两单词,后贴上的可能覆盖已贴上的单词(没有被覆盖的用句点表示),最终每个单词至少有一个字符没有被覆盖。问贴有几个 boy
几个 girl
?
输入格式
一行被被反复贴有 boy
和 girl
两单词的字符串。
输出格式
两行,两个整数。第一行为 boy
的个数,第二行为 girl
的个数。
输入输出样例
输入
......boyogirlyy......girl.......
输出
4 2
#include<stdio.h>
#include<stdlib.h>
int main()
{
char s[255];
scanf("%s",s);
int len = strlen(s);
int num1=0;
int num2=0;
int i;
for (i = 0; i < len; i++)
switch (s[i])
{
case 'b':
num1++;
if (s[i + 1] == 'o')
i++;
if (s[i + 1] == 'y')
i++;
break;
case 'o':
num1++;
if (s[i + 1] == 'y')
i++;
break;
case 'y':
num1++;
break;
case 'g':
num2++;
if (s[i + 1] == 'i')
i++;
if (s[i + 1] == 'r')
i++;
if (s[i + 1] == 'l')i++;
break;
case 'i':num2++;
if (s[i + 1] == 'r')
i++;
if (s[i + 1] == 'l')
i++;
break;
case 'r':
num2++;
if (s[i + 1] == 'l')
i++;
break;
case 'l':
num2++;
break;
default:
break;
}
printf("%d\n%d",num1,num2);
return 0;
}