10202 男女分类

题目描述

班主任拿到了一份名单,请为他统计班上男同学和女同学的人数和人员名单

输入格式

第一行包含1个整数n(1<=n<=100),表示学生的人数。接下来的n行,每行包括一个整数x(0<=x<=100)和一个字符y,整数代表学生的学号,字符代表学生的性别,a代表男,b代表女.

输出格式

输出包括四行,第一行为男生的人数,第二行为男生的学号,排列顺序为输入顺序,每个数据中间通过空格隔开

第三行为女生的人数,第四行为女生的学号,排列顺序为输入顺序,每个数据中间通过空格隔开

样例

输入 #1

5
1 a
2 b
3 a
4 a
5 b
输出 #1

3
1 3 4
2
2 5
数据范围与提示 分类标签

[一维数组]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int a[101];
char b[101];
int c;
int d;
bool e;


// The main procedure
int main() {
  cin>>c;
  d = 0;
  for (int i = 1; i <= c; i++) {
    cin>>a[i];
    cin>>b[i];
    if (b[i] == 'a') {
      d++;
    }
  }
  cout<<d;
  cout<<'\n';
  e = true;
  for (int i = 1; i <= c; i++) {
    if (b[i] == 'a') {
      if (e) {
        e = false;
      } else {
        cout<<" ";
      }
      cout<<a[i];
    }
  }
  cout<<'\n';
  d = (c-d);
  cout<<d;
  cout<<'\n';
  e = true;
  for (int i = 1; i <= c; i++) {
    if (b[i] == 'b') {
      if (e) {
        e = false;
      } else {
        cout<<" ";
      }
      cout<<a[i];
    }
  }
  return 0;
}

Blockly题解代码图片