#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.