A:点排序-poj
A:点排序
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
给定一个点的坐标(x, y),在输入的n个点中,依次计算这些点到指定点的距离,并按照距离进行从小到大排序,并且输出点的坐标(如果距离相同,将x轴坐标比较小的点排到前面, 如果距离相等且x轴坐标也相同,则将y轴坐标较小的点排到前面)。坐标为int类型,范围为-1000到1000。n 为1到100之间正整数。
- 输入
- 3行,第一行为指定点的坐标x, y。x, y之间用空格隔开。第二行为一个整数n。第三行为n个点的坐标,彼此之间用空格间隔。
- 输出
- 按照距离进行从小到大排序,输出点的坐标(如果距离相同,将x轴坐标比较小的点排到前面,如果距离相等且x轴坐标也相同,则将y轴坐标较小的点排到前面)。注意输出中同一个点内部括号中无空格,点和点之间逗号后面存在空格。
- 样例输入
-
0 0
5
1 0 0 1 1 1 5 2 4 0 - 样例输出
-
(0,1), (1,0), (1,1), (4,0), (5,2)
代码:#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
struct point
{
int pos_x;
int pos_y;
int distance;
};
int main()
{
int pos_x1,pos_y1;
struct point pos[];
int n,i,j;
cin>>pos_x1>>pos_y1;
cin>>n;
for(i=;i<n;i++)
{
cin>>pos[i].pos_x>>pos[i].pos_y;
pos[i].distance=;
}
for(j=;j<n;j++)
{
pos[j].distance=sqrt((pos[j].pos_x-pos_x1)*(pos[j].pos_x-pos_x1)+(pos[j].pos_y-pos_y1)*(pos[j].pos_y-pos_y1));
}
struct point temp;
for(i=;i<n-;i++)
{
for(j=;j<n--i;j++)
{
if(pos[j].distance>pos[j+].distance)
{
temp=pos[j];
pos[j]=pos[j+];
pos[j+]=temp;
}
}
}
for(i=;i<n-;i++)
{
for(j=;j<n--i;j++)
{
if((pos[j].distance==pos[j+].distance)&&(pos[j].pos_x>pos[j+].pos_x))
{
temp=pos[j];
pos[j]=pos[j+];
pos[j+]=temp;
}
else
if((pos[j].distance==pos[j+].distance)&&(pos[j].pos_x==pos[j+].pos_x)&&(pos[j].pos_y>pos[j+].pos_y))
{
temp=pos[j];
pos[j]=pos[j+];
pos[j+]=temp;
}
}
}
for(i=;i<n;i++)
{
printf("(%d,%d) ",pos[i].pos_x,pos[i].pos_y);
}
cout<<endl;
return ;
}
A:点排序-poj的更多相关文章
- 拓扑排序 POJ 2367
今天网易的笔试,妹的,算法题没能A掉,虽然按照思路写了出来,但是尼玛好歹给个测试用例的格式呀,吐槽一下网易的笔试出的太烂了. 就一道算法题,比较石子重量,个人以为解法应该是拓扑排序. 就去POJ找了道 ...
- 拓扑排序 POJ 1049 Sorting It All Out
题目传送门 /* 拓扑排序裸题:有三种情况: 1. 输入时发现与之前的矛盾,Inconsistency 2. 拓扑排序后,没有n个点(先判断cnt,即使一些点没有边连通,也应该是n,此时错误是有环): ...
- 图论之拓扑排序 poj 2367 Genealogical tree
题目链接 http://poj.org/problem?id=2367 题意就是给定一系列关系,按这些关系拓扑排序. #include<cstdio> #include<cstrin ...
- 简单几何(极角排序) POJ 2007 Scrambled Polygon
题目传送门 题意:裸的对原点的极角排序,凸包貌似不行. /************************************************ * Author :Running_Time ...
- 拓扑排序 POJ 1094 Sorting It All Out
题意:给定N个字和M行他们之间的关系,要求输出他们的拓扑排序.此题采用边输入边检测的方式,如果发现环,就结束并输出当前行号:如果读取到当前行时,可以确定拓扑序列就输出,不管后面的输入(可能包含环路): ...
- [转] POJ图论入门
最短路问题此类问题类型不多,变形较少 POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意: ...
- poj很好很有层次感(转)
OJ上的一些水题(可用来练手和增加自信) (POJ 3299,POJ 2159,POJ 2739,POJ 1083,POJ 2262,POJ 1503,POJ 3006,POJ 2255,POJ 30 ...
- POJ题目分类推荐 (很好很有层次感)
著名题单,最初来源不详.直接来源:http://blog.csdn.net/a1dark/article/details/11714009 OJ上的一些水题(可用来练手和增加自信) (POJ 3299 ...
- 图论常用算法之一 POJ图论题集【转载】
POJ图论分类[转] 一个很不错的图论分类,非常感谢原版的作者!!!在这里分享给大家,爱好图论的ACMer不寂寞了... (很抱歉没有找到此题集整理的原创作者,感谢知情的朋友给个原创链接) POJ:h ...
随机推荐
- 系统讲解CSS,前端开发最神奇的技术,新手的你一定不能错过
前面小编带领大家重温了前端开发中最基本的HTML语言.如果你已经掌握了这门语言,那么恭喜你,可以去深入了解CSS技术了.CSS技术最主要的功能就是弥补HTML标记对在页面中显示外观的不足,对这些标记对 ...
- Zookeeper 笔记-watch
ZooKeeper对Watch提供了什么保障 对于watch,ZooKeeper提供了这些保障: Watch与其他事件.其他watch以及异步回复都是有序的. ZooKeeper客户端库保证所有事件都 ...
- Python 的装饰器
Python 在语言级别提供了装饰器模式的实现,代码中Python内置的 functools.wraps 会完成包括函数名属性处理替换 #!/usr/bin/env python3 #--coding ...
- ansible服务部署与使用
第1章 ssh+key实现基于密钥连接(ansible使用前提) 说明: ansible其功能实现基于SSH远程连接服务 使用ansible需要首先实现ssh密钥连接 1.1 部署ssh ...
- 【20171025中】alert(1) to win 脚本渲染自建
游戏误人生,一下午玩了将近四个小时的三国杀,后悔不已,然后重新拾起xss challenge,突发奇想,自己构建渲染后的html. 从最简单的开始. 自动检测html: <!DOCTYPE ht ...
- TinyOS编程思想和Nesc基础语法
TinyOS操作系统由nesc语言写成,从程序员角度看,它的基本作用就是提供了一组API接口以及一些编程规则. 具体来说,基于nesc语言的TinyOS编程行为具有以下特点: a.兼容C语言:使用ne ...
- SQL数据查询语句(一)
本文所用数据库为db_Test,数据表为Employee 一.SELECT语句基本结构 语句语法简单归纳为: SELECT select_list [INTO new_table_name] [FRO ...
- Setup and Configure the vsftpd server in CentOS 7 operation system
############################################################################## 1. close the firewall ...
- AJAX中使用post,get接收发送数据的区别
如何发起请求 xhr.send(); 备注: 如果是get方式,send()命令中不用写任何参数 传递的数据可以写在url中,服务器用$_GEET["参数名"]接收 如果是post ...
- 楼梯T-SQL:超越基础6级:使用CASE表达式和IIF函数
从他的楼梯到T-SQL DML,Gregory Larsen涵盖了更多的高级方面的T-SQL语言,如子查询. 有时您需要编写一个可以根据另一个表达式的评估返回不同的TSQL表达式的单个TSQL语句. ...