#include<iostream> using namespace std; /* int main(){ int a,b; cin>>a>>b; cout<<(a+b); return 0; } */ int main(){ int amount; cin>>amount; int mm[amount][100]={0}; /*for(int i=0;i<amount;i++){ for(int j=0;j<100;j++){ cout<<mm[i][j]; } }*/ for(int z=0;z<amount;z++){ int m,n; cin>>n>>m; int x[n][2]; for(int i=0;i<n;i++){ cin>>x[i][0]>>x[i][1]; } /*for(int i=0;i<n;i++){ cout<<x[i][0]<<" "<<x[i][1]<<"\n"; } */ //cout<<"--\n"; int final[m][2]; int last[m]; for(int i=0;i<m;i++){ final[i][0]=0; final [i][1]=0; } for(int i=0;i<m;i++){ //cout<<final[i][0]<<" "<<final[i][1]<<"\n"; } //cout<<"--\n"; int k=0; for(int z=0;z<m;z++){ for(int j =0;j<n;j++){ // bool o=false; //cout<<j<<": "<<x[j][0]<<" "<<final[z][0]<<"\n"; if(x[j][0]>final[z][0]||(x[j][0]==final[z][0]&&x[j][1]>=final[z][1])){ /* if(o==true) { x[k][0]=final[z][0]; x[k][1]=final[z][1]; }*/ final[z][0]=x[j][0]; final[z][1]=x[j][1]; last[z]=j; //cout<<last[z]; // cout<<"*****"<<j<<"\n"; k=j; } } x[k][0]=0; x[k][1]=0; for(int i=0;i<n;i++){ // cout<<x[i][0]<<" "<<x[i][1]<<"\n"; } //cout<<"--\n"; } for(int i=0;i<m;i++){ mm[z][i]=last[i]+1; } } for(int i=0;i<amount;i++){ for(int j=0;j<100;j++){ if(mm[i][j]!=0) { cout<<mm[i][j]<<" "; } } cout<<"\n";} return 0; } |
Double click to view unformatted code.