View Code of Problem 5

#include<stdio.h>

#include<iostream>

using namespace std;

struct fruit {
	int mark;
	int apple;
	int pear;
}fruits[10000];

//const int maxn = 100000;
//fruit fruits[maxn];
//struct fruit fruits[maxn];

int InsertSort(fruit fruits[], int n) {
	fruit temp;
	int i, j;
	for (i = 1; i < n; i++) {
		if (fruits[i].pear > fruits[i - 1].pear) {
			temp = fruits[i];
			for (j = i - 1; temp.pear > fruits[j].pear && j >= 0; j--) {
				fruits[j + 1] = fruits[j];
			}
			fruits[j + 1] = temp;
		}
	}

	for (i = 1; i < n; i++) {
		if (fruits[i].apple > fruits[i - 1].apple) {
			temp = fruits[i];
			for (j = i - 1; temp.apple > fruits[j].apple && j >= 0; j--) {
				fruits[j + 1] = fruits[j];
			}
			fruits[j + 1] = temp;
		}
	}
	/*for (int k = 0; k < n; k++) {
		printf("篮子%d 苹果%d 梨%d\n", fruits[k].mark, fruits[k].apple, fruits[k].pear);
	}*/

	return 0;
}



int main() {
	int t, n, m;
	int apple, pear, mark, max_apple , max_pear;

	cin >> t;
	for (int x = 0; x < t; x++) {
		cin >> n >> m;
		for (int i = 0; i < n; i++) {
			cin >> fruits[i].apple >> fruits[i].pear;
			fruits[i].mark = i + 1;
		}
		
		InsertSort(fruits, n);
		for (int y = 0; y < m; y++)
		{
			cout << fruits[y].mark;
			if (y < m - 1) {
				cout << " ";
			}
		}
		cout << "\n";

	}

	getchar();
	return 0;
}


/*
2
2 1
2 0
1 4

3 2
3 4
2 6
3 5
*/

Double click to view unformatted code.


Back to problem 5