pat乙級1055

傳送門
wyx教我噠哈哈哈哈哈得留下來 他的code真的好簡潔清爽

#include<bits/stdc++.h>
using namespace std;
const int MAXN=10010;
struct node{
string s;
int x;
bool operator <(const node&A)const
{
    if(x==A.x) return s<A.s;
    else return x>A.x;
}
}T[MAXN];
int main()
{
    int n,k;
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++)
    {
        cin>>T[i].s>>T[i].x;
    }
    sort(T+1,T+n+1);
    int avg=n/k,last=n/k+n%k,now=1;
    int cnt=0;
    while(cnt++<k)
    {
        string res="";
        res="";
        res=T[now++].s;
        for(int i=1;i<(cnt==1?last:avg);i++)
        {
            if(!(i&1)) res+=(" "+T[now++].s);
            else res=T[now++].s+" "+res;
        }
        cout<<res<<endl;
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章