View Code of Problem 5

#include<stdio.h>
int main(){
	int t;
	scanf("%d",&t);
	int n,m;//n个篮子选择M个
	int max; 
	int a[10001][2];
	while(t--){
		scanf("%d%d",&n,&m);
		 //接着要保存篮子里的书名
		 
		 for(int i=0;i<n;i++){
		 		scanf("%d%d",&a[i][0],&a[i][1]);
		 } //i表示篮子的序号  j=0表示苹果的数量
		 //j=1表示梨子的数量 
		while(m--){
			 max=0;
			for(int i=0;i<n;i++){
				if((a[max][0]<a[i][0])||(a[max][0]==a[i][0]&&a[max][1]<a[i][1])){
					max=i;
				}
			}
			if(m>=1){
				printf("%d ",max+1);
			}else{
				printf("%d\n",max+1);
			}
			a[max][0]=0;	//输出之后马上复位 
		}
		
	}	
	return 0;
}

Double click to view unformatted code.


Back to problem 5