Description
最近,liaoruo同学通过研究发现,在企鹅村里面,企鹅们总是喜欢在夜晚成对出来散步,基本上是两小无猜的企鹅情侣,但是由于之前企鹅村的长老们都有重公企鹅轻母企鹅的习惯,久而久之,导致男女比例严重失调,由于找不到母企鹅,有时候会出现2只公企鹅一起出来散步的现象(你懂的,boy的复数形式~)。为了调查清楚这件事情的严重程度,liaoruo假扮成为1只QGG混入了企鹅村,在某次点名大会上(QGG报G,QMM报M),成功获取了点名的数据。
Input
多组数据测试
对于每组数据
输入的第一行是一个正整数n(1 <= n <= 100)表示总共有多少只企鹅参与了此次点名大会。
第二行有n个字符,分别是G或者M,字符之间没有其他间隔字符。(至少有1个G:liaoruo假扮的那只QGG)
输入的最后是1个0,表示输入结束,这组数据不用处理。
Output
对于每组数据,输出企鹅村原先有多少只公企鹅和母企鹅。
Sample Input
7
GGMGMGG
3
GMG
0
Sample Output
4QGGs 2QMMs
1QGG 1QMM
Hint
GGMGMGG这组数据中有5只公企鹅和2只母企鹅,考虑到里面有1只是假扮的公企鹅,所以答案是4QGGs2QMMs,注意中间输出的是空格。
这道水题需要注意的是输出单复数,输入数据中至少有1个G,所以最后得到的结构QGG 和 QMM的个数≥0 ,当个数≦1时输出单数,其他输出复数形式。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char qie[105];
int n, i, g , m ;
while(scanf("%d",&n) && n!=0 )
{
scanf("%s",qie);
g = m = 0;
for( i = 0 ; i < n ; i++ )
{
if(qie[i]=='G')g++;
if(qie[i]=='M')m++;
}
if(g==2 || g==1)
printf("%dQGG",g-1);
else printf("%dQGGs",g-1);
if(m==1 || m==0 )
printf(" %dQMM\n",m);
else printf(" %dQMMs\n",m);
}
return 0;
}