厨师写了一些文字在一张纸上,现在他想知道有多少洞在文本中。什么是一个洞?如果您认为纸为平面和一个字母为平面上的曲线,那么每个字母划分平面成区域。例如字母“A”,“D”,“O”,“P”,“R”分裂平面分成两个区域,所以我们说每个字母有一个孔。同样的,字母“B”有两个孔和字母如“C”,“E”,“F”,“K”有没有漏洞。我们说,在文本中的孔的数量等于文本中的字母的孔的总数。帮助厨师,以确定有多少孔在文本中。
输入
第一行包含一个整数T <= 40,测试用例的数量。测试案例可循。每个测试案例的唯一行只包含英文字母的大写字母组成的一个非空的文本。文本的长度是小于100,没有输入任何空格。
输出
对于每个测试用例,单行输出包含的孔在相应的文本中数量。
例子
输入: 2 CODECHEF DRINKEATCODE 输出: 2 5
1 #include<stdio.h> 2 int main(){ 3 int i,j,n,sum=0; 4 char end=‘/0‘; 5 char string[100] ; 6 scanf("%d",&n); 7 for(j=0;j<n;j++){ 8 sum=0; 9 memset(string,0,100); //字符串清空 10 scanf("%s",&string); 11 for(i=0;string[i]!=end;i++) 12 switch(string[i]){ 13 case ‘A‘: 14 case ‘D‘: 15 case ‘O‘: 16 case ‘P‘: 17 case ‘Q‘: 18 case ‘R‘: sum++;break; 19 case ‘B‘: sum+=2;break; 20 //default: ; 21 } 22 printf("%d\n",sum); 23 } 24 return 0; 25 }
趣味题,文本中洞的数量
时间: 2024-10-09 08:57:01