View Code of Problem 5

#include<stdio.h>
typedef struct{
	int a;
	int b;
	int index;
}s;
int main(){
	int T;
	int n; //总篮子 
	int m; //jlh选择的 
	scanf("%d",&T);
	for(int i=0;i<T;i++){
		scanf("%d %d",&n,&m);
		s lists[100000];
		for(int j=0;j<n;j++){
			int a,b;
			scanf("%d %d",&a,&b);
			lists[j].a=a;
			lists[j].b=b;
			lists[j].index=j;  //保留篮子号 
		}
		//排序开始
		for(int j=0;j<m;j++){
			for(int k=n-1;k>j;k--){
				if(lists[k].a>lists[k-1].a){
					s temp;
					temp=lists[k];
					lists[k]=lists[k-1];
					lists[k-1]=temp;
				}else if (lists[k].a==lists[k-1].a){
					if(lists[k].b>lists[k-1].b){
						s temp;
						temp=lists[k];
						lists[k]=lists[k-1];
						lists[k-1]=temp;
					}
				}
			}
		} 
		//排序结束 
		for(int j=0;j<m;j++){
			int index1 = lists[j].index+1;
			printf("%d ",index1);
		}
	}
}

Double click to view unformatted code.


Back to problem 5