zoukankan      html  css  js  c++  java
  • L1-030 一帮一 (15分)

    L1-030 一帮一 (15分)

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

    输入格式:

    输入第一行给出正偶数 (N ; (leq 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
    

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    bool vis[55];
    struct it{bool k;string s;}so[55];
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)cin>>so[i].k>>so[i].s;
        for(int i=1;i<=n;i++)
        {
            if(vis[i])continue;
            vis[i]=1;
            for(int j=n;j>i;j--)
                if(so[j].k!=so[i].k&&!vis[j])
                {
                    vis[j]=1;
                    cout<<so[i].s<<' '<<so[j].s<<endl;
                    break;
                }
        }
        return 0;
    }
    
  • 相关阅读:
    SQLite out of order error备忘
    SQLITE_TOOBIG
    Android CursorWindow问题备忘
    SQLite3神奇的UNION、UNION ALL与LIMIT组合
    Android Database(SQLite)参数绑定问题初探
    Android SQLite 加入自定义函数
    修改替换/system/framework/framework.jar后重启手机为何没有效果?
    手动调用NDK编译HelloWorld
    第一篇
    程序题
  • 原文地址:https://www.cnblogs.com/LengYun/p/13138389.html
Copyright © 2011-2022 走看看