L1-030. 一帮一

简介: L1-030. 一帮一“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。

L1-030. 一帮一

“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。

输入格式:

输入第一行给出正偶数N(<=50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1:1,并且没有并列名次。

输出格式:

每行输出一组两个学生的姓名,其间以1个空格分隔。名次高的学生在前,名次低的学生在后。小组的输出顺序按照前面学生的名次从高到低排列。

输入样例:
8
0 Amy
1 Tom
1 Bill
0 Cindy
0 Maya
1 John
1 Jack
0 Linda
输出样例:
Amy Jack
Tom Linda
Bill Maya
Cindy John

/*
分析: 先把数据放入数组结点
输出时把用过的x赋为-1
*/

#include <iostream>
using namespace std;
struct node{
    int x;
    string ch;
};
int main()
{   
    int n;
    cin >> n;
    node *list = new node [n];
    for(int i = 0; i < n; i++) {
        cin >> list[i].x >> list[i].ch;
    }
    for(int i = 0; i < n; i++) {
        if(list[i].x == -1) {
            continue;
        }
        cout << list[i].ch;
        if(list[i].x == 0) {
            list[i].x = -1;
            int end = n;
            while(end--) {
                if(list[end].x == 1) {
                    cout << " " <<list[end].ch <<endl;
                    list[end].x = -1;   //标记用过了 
                    break;
                }
            } 
        } else if(list[i].x == 1){
            int end = n;
            list[i].x = -1;
            while(end--) {
                if(list[end].x == 0) {
                    cout << " " <<list[end].ch <<endl;
                    list[end].x = -1;   //标记用过了 
                    break;
                }
            }
        }
    }

    return 0;   
}
目录
相关文章
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
1777 0
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
8月前
|
JavaScript Java 测试技术
基于springboot+vue.js的新闻稿件管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的新闻稿件管理系统附带文章和源代码设计说明文档ppt
101 6
基于springboot+vue.js的新闻稿件管理系统附带文章和源代码设计说明文档ppt
|
8月前
|
安全 数据安全/隐私保护 C++
C/C++基础知识——字符串(二)
C/C++基础知识——字符串
282 0
|
8月前
|
监控 数据可视化 Java
Elasitcsearch CPU 使用率突然飙升,怎么办?
Elasitcsearch CPU 使用率突然飙升,怎么办?
159 1
|
Linux 开发工具 git
linux 将本地代码提交至github上(新版图文详解)
linux 将本地代码提交至github上(新版图文详解)
linux 将本地代码提交至github上(新版图文详解)
|
XML JSON 算法
【数据集转换】VOC数据集转COCO数据集·代码实现+操作步骤
与VOC一个文件一个xml标注不同,COCO所有的目标框标注都是放在一个json文件中的。
1495 1
|
人工智能
L1-064 估值一亿的AI核心代码 (20 分)
L1-064 估值一亿的AI核心代码 (20 分)
387 0
L1-064 估值一亿的AI核心代码 (20 分)
|
Java 编译器 C语言
win10下vscode配置c语言环境
win10下vscode配置c语言环境
12975 2
win10下vscode配置c语言环境
|
Java Android开发
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项
183 0
Android 7.1 导航栏增加按键, 关机菜单增加休眠选项