#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std; /************************************************************************/
/* HDU 5182题 http://acm.hdu.edu.cn/showproblem.php?pid=5182*/
/************************************************************************/ struct node
{
node()
{
number=;
first=;
second=;
difference=;
};
int number;
int first;
int second;
int difference;
};
node arr[]; int cmp(const void* pa,const void* pb)
{
node* a = (node*)pa;
node* b = (node*)pb; if(a->difference != b->difference)return b->difference - a->difference;
else
return a->second - b->second;
} int main()
{
int n;
node temp; while (cin >> n)
{
memset(arr,,sizeof(arr));
for (int i=;i<n;i++)
{ arr[i].number=i;
cin >> arr[i].first >> arr[i].second;
arr[i].difference = arr[i].first - arr[i].second; } //qsort(arr,n,sizeof(node),cmp); //冒泡排序
//当两个node的difference和second都相等时,按照题意应该满足这两个元素
//应该按照输入时的顺序排序,如果利用内置的qsort,这就无法满足要求,因此我用冒泡排序来替换 for (int i =;i<n-;i++)
{
for (int j =;j<n--i;j++)
{
if (arr[j].difference < arr[j+].difference)
{
temp = arr[j];
arr[j]=arr[j+];
arr[j+]=temp;
}
}
} for (int i =;i<n-;i++)
{
for (int j =;j<n--i;j++)
{
if (arr[j].difference == arr[j+].difference && arr[j].second > arr[j+].second)
{
temp = arr[j];
arr[j]=arr[j+];
arr[j+]=temp;
}
}
} for (int i=;i<n-;i++)
{
cout << arr[i].number << " ";
} cout << arr[n-].number<<endl; } return ;
}

最新文章

  1. LeetCode First Bad Version (二分查找)
  2. MyEclipse的Hibernate Reverse Engineering失败解决方法
  3. HW3.17
  4. Python 手册(一)
  5. Bootstrap 轮播(Carousel)插件
  6. eclipse使用Git插件
  7. poj3206(bfs+最小生成树)
  8. 【MYSQL】SQL 的join 区别
  9. Android类参考---SQLiteOpenHelper
  10. 中文注释 MariaDB my.cnf 大型服务器配置模板
  11. codeforces——961B. Lecture Sleep
  12. 通过源码理解HashMap的并发问题
  13. CentOS7查看和关闭防火墙
  14. navicat for mysql 注册码,简简单单,一个搞定(蔡军帅亲测有效)
  15. HDU 3746 Cyclic Nacklace (KMP求循环节问题)
  16. gulp安装和使用
  17. matplotlib可视化之如何给图形添加数据标签?
  18. poj 2632 Crashing Robots(模拟)
  19. C#基础之委托
  20. how to update product listing price sale price and sale date using mobile App

热门文章

  1. 笔记|《简明Python教程》:编程小白的第一本python入门书
  2. SyntaxError: (unicode error) &#39;unicodeescape&#39; codec can&#39;t decode bytes in position 2-3: truncated \UXXXXXXXX escape
  3. 编码格式简介:ASCII码、ANSI、GBK、GB2312、GB18030和Unicode、UTF-8,BOM头
  4. Query DSL(1)
  5. FastDFS 分布式文件系统的安装与使用
  6. PIC24 通过USB在线升级 -- USB HID bootloader
  7. Ubuntu Docker 版本的更新与安装
  8. linux备份文件脚本
  9. 悟透JavaScript (一)
  10. Python系列之正则表达式详解