17行代码AC——L1-030 一帮一 (15分)(解题报告)
立志用更少的代碼做更高效的表達(dá)
“一幫一學(xué)習(xí)小組”是中小學(xué)中常見的學(xué)習(xí)組織方式,老師把學(xué)習(xí)成績(jī)靠前的學(xué)生跟學(xué)習(xí)成績(jī)靠后的學(xué)生排在一組。本題就請(qǐng)你編寫程序幫助老師自動(dòng)完成這個(gè)分配工作,即在得到全班學(xué)生的排名后,在當(dāng)前尚未分組的學(xué)生中,將名次最靠前的學(xué)生與名次最靠后的異性學(xué)生分為一組。
輸入格式:
輸入第一行給出正偶數(shù)N(≤50),即全班學(xué)生的人數(shù)。此后N行,按照名次從高到低的順序給出每個(gè)學(xué)生的性別(0代表女生,1代表男生)和姓名(不超過8個(gè)英文字母的非空字符串),其間以1個(gè)空格分隔。這里保證本班男女比例是1:1,并且沒有并列名次。
輸出格式:
每行輸出一組兩個(gè)學(xué)生的姓名,其間以1個(gè)空格分隔。名次高的學(xué)生在前,名次低的學(xué)生在后。小組的輸出順序按照前面學(xué)生的名次從高到低排列。
輸入樣例:
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 main(){int n; cin>>n;string s[n];int a[n];for(int i=0; i<n; i++)cin>>a[i]>>s[i];for(int i=0; i<n/2; i++)for(int j=n-1;j>=n/2;j--)if(a[i]!=a[j] && a[j] != -1){cout<<s[i]<<" "<<s[j]<<endl;a[j] = -1;break;} return 0; }每日一句
故事的開頭總是這樣,適逢其會(huì),猝不及防。故事的結(jié)局總是這樣,花開兩朵,天各一方。生命中的諸多告別,比不辭而別更讓人難過的,是說一句再見,卻再也沒見過。
總結(jié)
以上是生活随笔為你收集整理的17行代码AC——L1-030 一帮一 (15分)(解题报告)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5行代码AC——L1-029 是不是太胖
- 下一篇: C语言:L1-031 到底是不是太胖了