HDU 5182
#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 ;
}
HDU 5182的更多相关文章
- BestCoder Round #32_1001 以及 hdu 5182
http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=570&pid=1001 http://acm.hdu. ...
- hdu 5182 结构体排序
BC # 32 : 打 BC 的时候没看全三个关键字,WA 了五发,花了近一小时,问了一下才发现少看一个条件,于是顺利给跪. 题意:给出若干城市的两次空气质量,首先按空气质量差排序,若相等则按第二次排 ...
- hdu 5182 PM2.5
问题描述 目前,我们用PM2.5的含量来描述空气质量的好坏.一个城市的PM2.5含量越低,它的空气质量就越好.所以我们经常按照PM2.5的含量从小到大对城市排序.一些时候某个城市的排名可能上升,但是他 ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1796How many integers can you find(容斥原理)
How many integers can you find Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
随机推荐
- JVM菜鸟进阶高手之路十二(jdk9、JVM方面变化, 蹭热度)
转载请注明原创出处,谢谢! 经过 4 次跳票,历经曲折的 Java 9 正式版终于发布了!今天看着到处都是jdk9发布了,新特性说明,心想这么好的蹭热度计划能错过嘛,哈哈,所以就发了这篇文章. 目前j ...
- node 当中的 cnpm和npm 的区别和使用
在安装nodejs之后会有npm命令 打开命令符输入之后 输入node -v(记得-v前空格)查看版本信息 如果显示出来了就说明安装成功 然后 npm 可以安装node插件 cnpm使用的是淘宝网 ...
- 翻译连载 | 第 9 章:递归(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- 第1回-使用ThinkPHP的3.1.3版本轻松建网站
使用ThinkPHP的3.1.3版本轻松建网站 首先,从ThinkPHP官网下载一个ThinkPHP3.1.3版本框架包. 其次,取出ThinkPHP3.1.3包中的核心部分,部署你的服务器项目下. ...
- canvas,html2canvas等合成图片不清晰问题
function pxRa(cxt) { var backingStore = context.backingStorePixelRatio || context.webkitBackingStor ...
- hdu1166 敌兵布阵
敌兵布阵 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动 ...
- bzoj2730(矿场搭建)
矿场搭建,不知道为什么,莫名其妙T了在212上,额,zyh数据真的坑. bzoj200轻松跑过啊. 就是点双联通分量缩点,然后标记割点,一个块如果有>=2个割点,则不需要挖矿洞, 如果只有一割点 ...
- WinForm事件中的Object sender和EventArgs e参数
Windows程序有一个事件机制.用于处理用户事件. 在WinForm中我们经常需要给控件添加事件.例如给一个Button按钮添加一个Click点击事件.给TextBox文本框添加一个KeyPress ...
- [C语言]贪吃蛇_结构数组实现
一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数 ...
- Android 中更新UI的方法
1)使用Activity.runOnUiThread(Runable action)方法 情景一: 在主线程中,定义方法,在方法中启动线程. public class MainActivity ext ...