View Code of Problem 5

#include<iostream>
#include<vector>

using namespace std;

typedef struct {
	int index, a, b;
}Box;

int main() {
	int t;
	cin >> t;
	for (int i = 0; i < t; i++) {
		int n, m;
		cin >> n; //n个篮子
		cin >> m; //选m个篮子
		vector<Box> box;
		for (int j = 0; j < n; j++) {
			Box temp;
			temp.index = j + 1;
			cin >> temp.a;
			cin >> temp.b;
			box.push_back(temp);
		}

		for (int j = 0; j < box.size() - 1; j++) { //先对梨进行冒泡排序
			for (int k = j; k < box.size() - 1; k++) {
				if (box[k].b < box[k + 1].b) { //小数下沉
					Box t = box[k]; box[k] = box[k + 1]; box[k + 1] = t;
				}
			}
		}
		for (int j = 0; j < box.size() - 1; j++) { //再对苹果进行冒泡排序
			for (int k = j; k < box.size() - 1; k++) {
				if (box[k].a < box[k + 1].a) { //小数下沉
					Box t = box[k]; box[k] = box[k + 1]; box[k + 1] = t;
				}
			}
		}
		for (int j = 0; j < m - 1; j++)
			cout << box[j].index << " ";
		cout << box[m - 1].index << endl;
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 5