zoukankan      html  css  js  c++  java
  • 2016年团体程序设计天梯赛-决赛 L1-6. 一帮一(15)

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

    输入格式:

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

     1 #include<stdio.h>
     2 #include<iostream>
     3 #include<math.h>
     4 #include<string.h>
     5 #include<limits.h>
     6 #include<algorithm>
     7 #include<queue>
     8 using namespace std;
     9 struct node
    10 {
    11     char name[10];
    12     int sex;
    13     bool vis;
    14 }s[55];
    15 int main()
    16 {
    17     int n,i,j;
    18     cin>>n;
    19     for(i=0;i<n;i++)
    20     {
    21         cin>>s[i].sex>>s[i].name;
    22         s[i].vis=false;
    23     }
    24     for(i=0;i<n;i++)
    25     {
    26         for(j=n-1;j>=0;j--)
    27         {
    28             if(s[i].sex!=s[j].sex&&!s[i].vis&&!s[j].vis)
    29             {
    30                 s[i].vis=true;
    31                 s[j].vis=true;
    32                 cout<<s[i].name<<" "<<s[j].name<<endl;
    33             }
    34         }
    35     }
    36     return 0;
    37 }

  • 相关阅读:
    Google Accounts,OpenID,OAuth
    Namespaces(命名空间)
    <Araxis Merge>Windows平台下的Merge概览
    <Araxis Merge>快速一览文件的比较与合并
    <Araxis Merge>保存文件
    <Stackoverflow> 声望和节制
    <Stackoverflow> 如何提问
    收集一些好用的搜索引擎
    一个简单的scrapy爬虫抓取豆瓣刘亦菲的图片地址
    应用python编写简单新浪微博应用(一)
  • 原文地址:https://www.cnblogs.com/Annetree/p/5679443.html
Copyright © 2011-2022 走看看