POJ3664 Election Time
2015-12-01 18:33
218 查看
水题,但我第一次写的代码WA了好几次,后来分析得:原来我用a[i]*1000+i来保留的做法进行快排时,a[i]相同时也会有大小之分,但题目数据检验时应该是按照普通快排排列的(随机),所以通过不了,后来改了一下结构体过了。
#include<stdio.h> #include<string.h> #include<stdlib.h> struct fun { int x, y,num; }; fun a[50005]; int cmp1(const void*p1, const void*p2) { struct fun*c = (fun*)p1; struct fun*d = (fun*)p2; return d->x - c->x; } int cmp2(const void*p1, const void*p2) { struct fun*c = (fun*)p1; struct fun*d = (fun*)p2; return d->y - c->y; } int main() { int n, k,i; scanf("%d%d", &n, &k); for (i = 0; i < n; i++) { //注意这里要从0开始,如果从1开始,快排会出错(出现0) scanf("%d%d", &a[i].x, &a[i].y); a[i].num=i; } qsort(a, n, sizeof(fun), cmp1); qsort(a, k, sizeof(fun), cmp2); printf("%d\n", a[0].num+1); return 0; }
相关文章推荐
- Spark on YARN两种运行模式介绍
- MCU之STM32可用硬件(外部接口)一览表
- 在同一个label上显示 两种规格的字体
- Combo( 自定义下拉框) 组件
- lamp建站的笔记
- Java NIO传输文件
- haproxy web跳转 通过/xx 跳转
- Java NIO传输文件
- JSP之过滤器Filter
- Linux下xargs命令详解
- android坐标
- Happy Number
- SDN学习笔记(linux命令)
- Unity客户端模块划分
- JavaScript学习1-JS简介
- systemd详解
- Java实现IP是否能Ping通功能
- BZOJ1202: [HNOI2005]狡猾的商人
- Android SDK 开发范例大全 ---3.8手机页面的转换
- 数据结构中的排序