1623B - Game on Ranges(1100)

#include<bits/stdc++.h>
using namespace std;
const int maxn=10000;
struct stu{
    int a,b,cha,num;
    int c;
}k[maxn];
bool cmp(stu x,stu y){
    if(y.cha>x.cha)    return 1;
    else return 0;
}
bool cmp1(stu x,stu y){
    return x.num<y.num;
}
int main(){
    int t,n;
    bool vis[maxn];
    scanf("%d",&t);
    while(t--){
    memset(vis,0,sizeof(vis));
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d %d",&k[i].a,&k[i].b);
            k[i].num=i;
            k[i].cha=k[i].b-k[i].a;
        }
        sort(k+1,k+1+n,cmp);
        for(int i=1;i<=n;i++){
            if(k[i].a==k[i].b){
                k[i].c=k[i].a;
                vis[k[i].c]=1;
            }
            else   {
                for(int j=k[i].a;j<=k[i].b;j++){
                    if(vis[j]==0){
                        k[i].c=j;
                        vis[k[i].c]=1;
                    }
                }
            }
        }
        for(int i=1;i<=n;i++) cout<<k[i].a<<" "<<k[i].b<<" "<<k[i].c<<endl;    
    }
} 

 

posted @ 2022-01-15 17:04  happycrazy  阅读(62)  评论(0)    收藏  举报