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 }

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM