View Code of Problem 5

//                            _ooOoo_
//                           o8888888o
//                           88" . "88
//                           (| -_- |)
//                            O\ = /O
//                        ____/`---'\____
//                      .   ' \\| |// `.
//                       / \\||| : |||// \
//                     / _||||| -:- |||||- \
//                       | | \\\ - /// | |
//                     | \_| ''\---/'' | |
//                      \ .-\__ `-` ___/-. /
//                   ___`. .' /--.--\ `. . __
//                ."" '< `.___\_<|>_/___.' >'"".
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |
//                 \ \ `-. \_ __\ /__ _/ .-` / /
//         ======`-.____`-.___\_____/___.-`____.-'======
//                            `=---='
//
//         .............................................
//                  佛祖镇楼                 BUG辟易
//          佛曰:
//                  写字楼里写字间,写字间里程序员;
//                  程序人员写程序,又拿程序换酒钱。
//                  酒醒只在网上坐,酒醉还来网下眠;
//                  酒醉酒醒日复日,网上网下年复年。
//                  但愿老死电脑间,不愿鞠躬老板前;
//                  奔驰宝马贵者趣,公交自行程序员。
//                  别人笑我忒疯癫,我笑自己命太贱;
//                  不见满街漂亮妹,哪个归得程序员?
 
 
//
//  main.cpp
//  acm
//
//  Created by PengyunDai on 2018/3/23.
//
 
#include <iostream>
#include <stdio.h>
void swap(int &a,int &b)
{
    int temp=a;
    a=b;
    b=temp;
    return ;
}
int main(int argc, const char * argv[]) {
    // insert code here...
    int t,m,n,i,j;
    int basket[3][100000+5];
    scanf("%d",&t);
    while(t--){
        scanf("%d%d",&n,&m);
        for(i = 0 ; i < n ; i++){
            scanf("%d%d",&basket[0][i],&basket[1][i]);
            basket[2][i]=i+1;
        }
        for( i = 0 ; i < n ; ++i){
            for( j = 0 ; j < n-i-1 ; ++j){
                if(basket[0][j]<basket[0][j+1]||basket[0][j]==basket[0][j+1]&&basket[1][j]<basket[1][j+1]){
                    swap(basket[0][j],basket[0][j+1]);
                    swap(basket[1][j],basket[1][j+1]);
                    swap(basket[2][j],basket[2][j+1]);
                }
            }
        }
        for(int i = 0 ;i < m ; ++i ){
            if(i==m-1)printf("%d\n",basket[2][i]);
            else printf("%d ",basket[2][i]);
            
        }
        
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5