紫书第五章习题 5-6 UVa 1595 Symmetry(暴力)

C++求解:平面上有n个点,问总共可以组成多少条直线 思路对输入的点,两两组合求取斜率,这样可能会出现某一斜率对应多对点。然后对属于同一斜率的多对点,当成一幅图,求取连通分支个数。这里对对属于同一斜率的多对点,当成一幅图,求取连通分支个数解释一下: 假设对于斜率k=1.0,有点对 (1,1) ,(2,2) (2,2),(3,3) (3,3,),(1,1) (4,3),(3,2) 那么实际上只有两条直线,(1,1),(2,2),(3,3)是连 阅读详情
出处:https://blog.youkuaiyun.com/acvay/article/details/43015507
题目链接:https://vjudge.net/contest/231030#problem/F

题目描述:给出平面上N(N<=1000)个点。问是否可以找到一条竖线,使得所有点左右对称,如图所示:

思路:暴力枚举可以过  如果存在对称轴的话那么对称轴的横坐标一定是最左边的点和最右边的点的中点   为了避免中点是小数  可以将横坐标都乘上2  然后在判断所有点是否有对称点就行了

#include <bits/stdc++.h>  
using namespace std;  
const int N = 1005;  
int x[N], y[N], n, mx;  
  
bool have(int i)  
{  
    for(int j = 0; j < n; ++j)  
        if(y[i] == y[j] && x[i] + x[j] == 2 * mx) return true;  
    return false;  
}  
  
int main()  
{  
    int cas, lx, rx, a, i;  
    scanf("%d", &cas);  
    while(cas--)  
    {  
        lx = rx = 0;  
        scanf("%d", &n);  
        for(i = 0; i < n; ++i)  
        {  
            scanf("%d%d", &a, &y[i]);  
            x[i] = a * 2;  
            if(x[i] < x[lx]) lx = i;  
            if(x[i] > x[rx]) rx = i;  
        }  
        mx = (x[lx] + x[rx]) / 2;  
        for(i = 0; i < n; ++i)  
            if(!have(i)) break;  
  
        if(i >= n) puts("YES");  
        else puts("NO");  
    }  
    return 0;  
}  

给出平面上N个点的坐标点集,求这N个点有多少条整体对称轴.整体对称轴是指一条直线, 对于每个点,都能找到点集中的一个点与他关于这条直线对称 输入 输入的第一行 2019年安徽省程序设计大赛E题,现代艺术 给出平面上N个点的坐标点集,求这N个点有多少条整体对称轴.整体对称轴是指一条直线, 对于每个点,都能找到点集中的一个点与他关于这条直线对称 输入 输入的第一行 立即下载

相关推荐

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Symmetry UVA - 1595

题目链接:Symmetry UVA - 1595 题目:给出平面上N(N &lt;= 1000)个点,问是否可以找到一条竖线,使得所有点左右对称。如图: 思路:本题的突破点在于通过最左边和最右边的点寻找对称轴,我的想法是利用set集合排序(由于用了结构体,故要重写 &lt; 运算符),此时set集合中为从小到大,因为最右边x相同的点可能有多个(同一条轴上,但是最小的点是固定的),所有通过迭...

howell 356

PotPlayer自用皮肤

自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。

对称轴(Symmetry)

给出平面上N(N≤1000)个点,问是否可以找到一条竖线,使得所有点左右对称。 /*对称轴一定是最左边和最右边点的中点所在竖线。 可以找最左边和最右边的点,即横坐标最小和最大。 主要是把点的横坐标排序, 然后判断左边的第n个点和右边的第n个点是否关于对称轴对称。 */ #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u

韶言大雅 1521

手把手教你用RC桥式振荡器生成1Hz-1MHz正弦波(附完整电路图)

本文详细介绍了如何从零构建RC桥式振荡器,实现1Hz-1MHz正弦波的生成。通过核心元件选型、参数设计、电路搭建与优化等步骤,帮助读者掌握振荡器的工作原理和实战技巧。特别适合电子实验和信号处理领域的初学者和工程师,附完整电路图和常见问题解决方案。

weixin_30338481的博客 467

fsQCA实战:从数据校准到结果解读的完整流程(附R代码示例)

本文提供了一份完整的模糊集定性比较分析(fsQCA)实战指南,详细阐述了从数据校准、必要条件分析、真值表构建到布尔最小化与结果解读的全流程。通过R语言代码示例,帮助研究者掌握如何将理论转化为可操作的分析步骤,并产出稳健的中间解,以揭示导致结果的复杂条件组合。

d6e7f8g9h的博客 1169

UVa: 1595 - Symmetry

题目链接:http://http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4470 题目描述:给出平面上N(N 则左边的图形有对称轴,右边没有。 思路:如点集存在对称轴,则对称轴为点集x坐标和的平均。然后用set存储每个点(输入点不同),

没有趟不过的河 4159

【FPGA XDMA AXI Bridge 模式】PCIe:BARs 和 AXI:BARs 含义解析

Xilinx的 DMA/Bridge Subsystem for PCI Express IP核中,支持普通的XDMA模式,但是这种模式只允许主机端发起PCIe 读写请求,FPGA内部无法主动发起读写请求,也即FPGA无法主动读写HOST的内存。而该IP核的另一种模式,AXI Bridge模式则支持HOST主动读写,以及FPGA主动读写。该模式下有个参数需要配置,分别是PCIe:BARs以及AXI:BARs。而上述的普通模式只有PCIe:BARs需要配置。下面详细说说这两个参数的含义。

weixin_45888152的博客 3730

算法竞赛入门经典 第二版 习题5-6 对称轴 Symmetry uva1595

题目:https://vjudge.net/problem/UVA-1595思路:动用两个容器,一个容器存下所有坐标(vector#include <iostream> #include <string> #include <cstdio> #include <iomanip> #include <map> #include <set> #include <vector> #include <cst

Rewriter_huanying的博客 733

Unity Shader实战:用Matcap给你的低模角色快速换上‘次世代’材质(附完整Shader代码)

本文详细介绍了Unity中Matcap技术的实战应用,通过Shader代码实现低模角色的次世代材质表现。Matcap技术利用预烘焙光照贴图,显著提升材质质感同时保持极低性能消耗,特别适合移动游戏和独立开发。文章包含完整Shader代码、平面模型着色优化方案及动态环境反射增强技巧,帮助开发者快速提升低模视觉效果。

weixin_28718755的博客 385

s8654

The official Snapdragon Ride SX 4.0 development board provides standardized hardware support for the secondary development and functional verification of the s8654 platform.

qq_39257814的博客 6828

对称轴(Symmetry, ACM/ICPC Seoul 2004, UVa1595)

 给出平面上N(N≤1000)个点,问是否可以找到一条竖线,使得所有点左右对称。例如 图中,左边的图形有对称轴,右边没有。 第一眼看上去没什么思路,感觉挺难的后来看了别人的发现确实不难 对称轴 显然是在(maxnum + minnum ) / 2上 所以我们只需要判断每个 x+(maxnum + minnum ) / 2 ,y 在数轴行是否存在 就可以知道了 #pragma GCC ...

weixin_42193704的博客 720

C#开发的OpenRA游戏之网络接收后找到游戏对象

而这个队列是在创建这个游戏对象时组件,因为一个游戏对象有很多特性,当发现创建游戏对象时有IResolveOrder继承接口的对象,就添加到这个数组。在这里先检查一下命令是否有效的,接着就调用命令的执行对象,即是游戏对象来执行这个命令了。order.Subject就是上面解释游戏对象ID,并从游戏世界里找到的游戏对象,再从各个字段里找到对应的信息,再把这个动作交给游戏世界里的对象执行。从前面分析可知,要找到游戏世界里的对象,就需要游戏对象的ID,因此, 我们来分析游戏对象的ResolveOrder函数。

大坡3D软件开发 1034

1595:Symmetry

Symmetry我的思路:开始是想着将所有点都存在set里面,找出对称轴,然后对于每一个点确定其对称点是否存在,但是觉得这样效率似乎太低,就放弃了。后来想到了这样做:将所有点按x坐标进行排序,若x坐标相同,则对于对称轴左边的点按y坐标又小到大排序,右边则相反。这样的话如果这些点是左右对称的,那么两端的点一定是对称的,因为经过我上面的排序其实相当于用一维数组将各点在平面上的相对关系表现了出来。然后依...

Jingwang Li 291

1、初探 Tiny Machine Learning

Tiny Machine Learning(TinyML)是机器学习与嵌入式系统的融合领域,致力于在资源受限的微控制器上运行AI模型。本文介绍了机器学习基础、TinyML的核心概念、应用领域(如智能家居、工业物联网、医疗保健)、面临的挑战(如资源限制、模型压缩、数据质量),以及从硬件准备到模型部署的实践步骤。通过利用训练与推理的资源不对称性,可在PC上训练模型并部署至低功耗设备进行实时推理,推动边缘智能的发展。

loss4bartender的博客 121

AI 智能体(Agent)应用开发工程师 · 进阶面试 (五)

在有多位 Agent 共同参与决策时(如评审委员会、代码审查小组),它们可能提出截然相反的建议。共识机制就是用来在这种冲突中得出唯一行动方案的规则。常用机制:多数投票:每个 Agent 一票,根据投票结果决定。实现简单,但忽略了专业度差异。加权投票:根据 Agent 的角色重要性或历史表现赋予不同权重,例如首席架构师 Agent 的票权重是普通开发者 Agent 的 2 倍。管理者仲裁:由一个权限更高的 Manager Agent 听取各方理由后做出最终裁决。这类似于层级制组织决策。辩论收敛。

篮球界最会写bug的人;程序猿中打球最菜的人。 393

UVA - 1595 Symmetry

The figure shown on the left isleft-right symmetricas it is possible to fold the sheet of paper along avertical line, drawn as a dashed line, and to cut the figure into two identical halves. ...

weixin_30364147的博客 155

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

习题5-6 对称轴 UVA1595

#include #include #include using namespace std; const int MAX=100000000; //用一个vector到int的字典来存储所有的点,y值作为Key,相同y值的点被存入同一个vector里。 //判断时,先计算第一个key值下的所有数的平均值,然后将之后的Key值下的平均值与它比较,只要有一个不相同则输出NO。 /

dherorunner的博客 309

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

习题5-6 对称轴 UVa1595

1.题目描述: 2.解题思路:判断是否对称只需要看x坐标,因此可以先将

Skyline 881

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

UVA 1595 Symmetry

题目链接:https://vjudge.net/problem/UVA-1595 题意:给出平面上N(N 题意很简单,由于点的坐标范围太大,点的个数很少,我们可以用map存点。既然找到一条对称线,此时我们应该先满足点的对称,即对这些点进行以横坐标排序,然后找到中间的那个点,然后这点左边的所有点以这点所在的竖线为中心,向右面做投影,如果右边的投影没有点,就证明不对称,就输出NO,这里判断,只需要

CS33sun的博客 315

Uva 1595 暴力枚举

Uva 1595 Symmetry 题目描述:给出平面上N(N 则左边的图形有对称轴,右边没有。 找出中间轴,枚举验证是否有对称点即可 #include #include #include #include #include #include #include #include using namespace std; struct Nod

DT2131 532

UVA 1595 找对称轴(set)

题意给出n个点的横纵坐标,是否可以找出一条竖线,使左右点都对称。分析这个想复杂了。。。什么坐标离散化了。。 还有一直下意识的关心 点不能用重了。。。 各种标记之类的。。。其实可以直接 用set遍历 找这一点,存在不存在关于轴对称的另一个点。。代码#include <bits/stdc++.h>using namespace std; typedef pair<int,int> P; int m

ACMer的博客 860

1595 - Symmetry

#include #include #include #include #include #include #include #include #include #include #include using namespace std; bool compare(pair a,pair b){ if (a.first == b.first) return a.second < b.secon

zju2016的博客 284

习题5-6 对称轴(Symmetry, UVa1595)

//习题5-6 对称轴(Symmetry, ACM/ICPC Seoul 2004, UVa1595) /* 定义 map, int> vis 插入时赋值为1 vis[pair(x, y)]++; 查询一个关键字是否存在:if(!vis[pair(x, y)]) ... 如果不存在会新建立一个关键字,返回值为0 是否可以等同于if(!vis.count(pair(x, y))) ...呢? */

%%% 699
上一篇: 紫书第五章习题 5-5 UVa 10391 - Compound Words
下一篇: 紫书第五章习题 5-7 UVA12100-打印队列
JXUFE_ACMer
博客等级 码龄9年 20粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值