如图
#include<iostream>
using namespace std;
struct rectangle{
int len;//长方形的长
int wid;//长方形的宽
int num;//长方形的编号
};
struct rectangle rect[100];
struct rectangle rec;
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
scanf("%d%d",&rect[i].len,&rect[i].wid);
rect[i].num=i;
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(rect[i].len-rect[i].wid<rect[j].len-rect[j].wid){
rec=rect[i];
rect[i]=rect[j];
rect[j]=rec;
}
if(rect[i].len-rect[i].wid==rect[j].len-rect[j].wid){
if(rect[i].wid>rect[j].wid){
rec=rect[i];
rect[i]=rect[j];
rect[j]=rec;
}
if(rect[i].wid==rect[j].wid&&rect[i].num>rect[j].num){
rec=rect[i];
rect[i]=rect[j];
rect[j]=rec;
}
}
}
}
for(int k=0;k<n;k++){
cout<<rect[k].num;
if(k!=n-1) cout<<" ";
}
cout<<endl;
}
return 0;
}