算法习题---5-6对称轴(UVa1595)
一:题目
判断平面上的一组点,是否关于一条竖线对称。即找到一条垂直对称轴
(一)样例输入
-
(二)样例输出
YES
NO
YES
二:代码实现
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm> using namespace std; #define MAX_LEN 1000 typedef struct Pot
{
double x;
double y;
bool operator<(struct Pot& other)const
{
return x < other.x;
}
}Pots; int main()
{
freopen("data5_6_h.in", "r", stdin);
freopen("data5_6_h.out", "w", stdout); Pots pos[MAX_LEN];
double check_pos; int total_num, num,i;
cin >> total_num;
while (total_num--)
{
cin >> num; //信息获取
for (i = ; i < num; i++)
cin >> pos[i].x >> pos[i].y; sort(pos, pos + num); //排序后我们只需要找到中心点(最靠近中间的那两个,或者那一个点)即可check_pos
if (num % 2 == 0)
check_pos = (pos[num / 2 - 1].x + pos[num / 2].x) / 2;
else
check_pos = pos[num / 2].x; bool flag=true;
for (int i = ; i < num / ; i++) //进行信息校验
if (pos[i].y != pos[num-i-].y || (pos[i].x + pos[num-i-].x) / != check_pos)
{
flag = false;
break;
}
if (flag)
cout << "YES" << endl;
else
cout << "NO" << endl;
} freopen("CON", "r", stdin);
freopen("CON", "w", stdout);
return ;
}
算法习题---5-6对称轴(UVa1595)的更多相关文章
- 【算法习题】数组中任意2个(3个)数的和为sum的组合
题1.给定一个int数组,一个数sum,求数组中和为sum的任意2个数的组合 @Test public void test_find2() { int[] arr = { -1, 0, 2, 3, 4 ...
- July 算法习题 - 字符串4(全排列和全组合)
https://segmentfault.com/a/1190000002710424 思想:当前层各节点首元素不同,则各节点的剩余元素也不同:下一层节点交换范围为首元素以外的元素 全排列算法: vo ...
- 算法习题---4-9数据挖掘(Uva1591)
一:题目 这是最懵逼的一道题,什么鬼......... [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining(详细题目看这个吧,不想多说) 二:代码实现 #defin ...
- tarjan算法 习题
dfs树与tarjan算法 标签(空格分隔): 517coding problem solution dfs树 tarjan Task 1 给出一幅无向图\(G\),在其中给出一个dfs树\(T\), ...
- 【算法习题】正整数数组中和为sum的任意个数的组合数
1.递归实现(参考:https://blog.csdn.net/hit_lk/article/details/53967627) public class Test { @org.junit.Test ...
- 算法习题-FFT
Q1(hdu1402): 给出两个很大的数字A,B,计算二者乘积. 分析:这个题目java应该能过,用FFT做能够加速计算.这里将字符串A按权(10进制)展开,前面的系数就是多项式的系数,这样就构造出 ...
- 算法习题---5-8图书管理系统*****<双向迭代器>(UVa230)
一:题目 就是输入一系列书本名和作者名,然后输入命令模拟借书和还书,再输出归还的书的摆放位置.要求有两点: 需要对归还的书做特殊排序处理:作者名相同,则书本按书名从小到大排序:否则书本按作者名大小排序 ...
- 算法习题---5-7打印队列(UVa12100)
一:题目 有一个打印机,有一些任务在排着队打印,每个任务都有优先级.打印时,每次取出队列第一个任务,如果它的优先级不是当前队列中最高的,就会被放到队尾,否则就打印出来.输出初始队列的第m个任务的打印时 ...
- 算法习题---5-5复合词(UVa10391)
一:题目 输入一系列由小写字母组成的单词.输入已按照字典序排序,且不超过120000个.找出所有的复合词,即恰好由两个单词连接而成的单词 (一)样例输入 a alien born less lien ...
随机推荐
- csr_matrix
from scipy.sparse import * row = [0,0,0,1,1,1,2,2,2]#行指标col = [0,1,2,0,1,2,0,1,2]#列指标data = [1,0,1,0 ...
- 《3+1团队》【Beta】Scrum meeting 3
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...
- 三大框架整合模板ssh
1.web.xml配置 <!-- 让spring随web启动而创建的监听器 --> <listener> <listener-class>org.springfra ...
- Spring源码窥探之:Spring AOP初步使用
AOP即面向切面编程.它的底层实际是用了spring的动态代理,具体是JDK的代理还是CGLIB的代理,就视情况而定了.本博客园仅仅作为平时记录,显得有些杂乱无章,如果想了解动态代理,设计模式,请访问 ...
- Django admin中文报错Incorrect string value 解决办法
- man、whatis、apropos命令
man命令类似于Linux的帮助文档. 1.man1提供给普通用户的可执行命令说明: 输入man 1 ls 后,结果如下: 结果分析: (1)NAME:命令的名称: (2)SYNOPSIS:参数的使用 ...
- C++命令空间使用和编译
先创建目录结构 src bin obj lib include 1.创建命名空间 创建一个头文件include/head.h; #ifndef _GOOD_H #define _GOOD_H name ...
- vundle 管理插件
前言:如果不使用vundle的话,进行插件的安装,配置和管理相对会麻烦,曾经没使用vundle的时候我经常遇到无法安装一些vim插件.但使用vundle后你只要在文件中添加一行你的插件名再安装就OK了 ...
- Lua chunk文件结构
1.lua执行经过: xx.lua源码文件------->执行(lua虚拟机) 隐式调用luac编译器 我们可以直接用luac命令去编译lua源码文件,然后用编译后的文件运行在lvm(lua虚拟 ...
- ansys meshing当中共享节点的操作
原视频下载地址: https://yunpan.cn/cYKuN9mIHMUxa 访问密码 5858