#include "stdio.h" struct shuchu { int s[100]; }; void main() { struct shuchu x[100]; int k; int g; int t; int i,j; int m[10000],n[10000]; int a[10000],b[10000]; int a1[10000],b1[10000]; scanf("%d",&t); for(i=0;i<t;i++) { scanf("%d%d",&m[i],&n[i]); for(j=0;j<m[i];j++) { scanf("%d%d",&a[j],&b[j]); a1[j]=a[j];b1[j]=b[j]; } for(g=0;g<m[i];g++) //按照a[]大到小 { for(j=0;j<m[i]-g-1;j++) { if(a[j]<a[j+1]) { k=a[j];a[j]=a[j+1];a[j+1]=k; k=b[j];b[j]=b[j+1];b[j+1]=k; } } } for(j=0;j<m[i];j++) //a[]一样时排b[] { if(a[j]==a[j+1]&&b[j]<b[j+1]) { k=b[j];b[j]=b[j+1];b[j+1]=k; } } for(g=0;g<n[i];g++) { for(j=0;j<m[i];j++) { if(a[g]==a1[j]&&b[g]==b1[j]) x[i].s[g]=j+1; } } } for(i=0;i<t;i++) { for(j=0;j<n[i];j++) { if(n[i]==1) printf("%d",x[i].s[j]); else printf("%d ",x[i].s[j]); } printf("\n"); } } |
Double click to view unformatted code.