View Code of Problem 5


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.


Back to problem 5