11月--1922--偶是水题

来源:互联网 发布:蚁群算法原理及其应用 编辑:程序博客网 时间:2024/06/06 15:34

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;}

原创粉丝点击