import java.util.Scanner; class Basket { private int A, B, C; public int getA() { return A; } public void setA(int a) { A = a; } public int getB() { return B; } public void setB(int b) { B = b; } public int getC() { return C; } public void setC(int c) { C = c; } } public class Main { static Scanner in = new Scanner(System.in); public static void sort(Basket[] bas) { int A[] = new int[bas.length]; for (int i = 0; i < bas.length; i++) { for (int j = i; j < bas.length; j++) { if (bas[i].getA() < bas[j].getA()) { Basket T_bas = bas[i]; bas[i] = bas[j]; bas[j] = T_bas; } if (bas[i].getA() == bas[j].getA()) { if (bas[i].getB() < bas[j].getB()) { Basket T_bas = bas[i]; bas[i] = bas[j]; bas[j] = T_bas; } if (bas[i].getB() == bas[j].getB()) { if (bas[i].getC() > bas[j].getC()) { Basket T_bas = bas[i]; bas[i] = bas[j]; bas[j] = T_bas; } } } } } } public static void main(String[] args) { int T = in.nextInt(); while (T-- > 0) { int N = in.nextInt(), M = in.nextInt(); Basket[] bas = new Basket[N]; for (int i = 0; i < N; i++) { bas[i] = new Basket(); bas[i].setA(in.nextInt()); bas[i].setB(in.nextInt()); bas[i].setC(i); } sort(bas); boolean flag = false; for (int j = 0; j < M; j++) { if (flag) System.out.print(" "); System.out.print(bas[j].getC()+1); flag = true; } System.out.println(); } } } |
Double click to view unformatted code.