当前位置: 首页 > 编程日记 > 正文

【水】JSOI完美的对称

完美的对称

题目描述

在峰会期间,必须使用许多保镖保卫北约组织的各国代表。代表们除了由他自己的随身保镖保护外,组委会还指派了一些其他的特工和阻击手保护他们。为了使他们的工作卓有成效,使被保卫的人的安全尽可能得到保障,保镖被分配到被保护人的各个方向。

保镖的最佳站立位置应该是这样的:被保护人应站在所有保镖的对称中心。但是,只要被保护人一移动,保镖就很难根据要人的新位置调整位置。大多数的特工都很难对此作出实时调整。

因此,内政部长高斯决定将该过程逆转一下,保镖先站好自己的位置,然后要人在他们的对称中心找到合适的位置。如果要人随便走动,我们就对他的安全不必负责。

你的工作是使这个过程自动操作。给出一组N个点(保镖的位置),你要找出它们的对称中心S,在这儿被保护人将相对安全。下面以此类推。

首先我们给定一点A以及对称中心S,点A'是点A以S为对称中心形成的像点,即点S是线段AA'的对称中心。

点阵组(X)以S为中心的像点是由每个点的像点组成的点阵组。X是用来产生对称中心S的,即点阵X以S为中心的像点的集合即为点阵X本身。

 

输入

输入文件第一行是一个整数N,1<=N<=20000,接下来的N行每行包含用空格隔开的两个整数Xi和Yi,-100000<=Xi,Yi<=100000,表示这组点阵中第I个点的笛卡尔坐标值。

因为任何两个保镖都不会站在同一个位置上,所以在给定的作业中,任何两点都不相同。但注意保镖可以站在被保护人相同的位置。

 

输出

输出文件仅有一行。如果给定的点阵能产生一个对称中心,则输出“V.I.P  should  stay  at (x,y)”,其中X和Y代表中心的笛卡尔坐标值,格式为四舍五入保留至小数点后一位。如果该组点阵无对称中心,输出"This is a dangerous situation.",注意输出时除了两个单词之间用一个空格隔开外,不要输出多余空格。

 

样例

SYMMETRY.IN

8

1 10

3 6

6 8

6 2

3 -4

1 0

-2 -2

-2 4

 

SYMMETRY.OUT

V.I.P. should stay at (2.0,3.0).

思路

随意YY一个顺序将读入的数据按x,y为第一第二关键字排个序,然后把第一个和最后一个的中点作为基准,其他点对中点如果有不等的输出dangerous否则输出基准

sort调了好久,不重载运算符也可以用cmp过(或者说我写不对重载运算符囧)

代码

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,i,j,tail;
struct note
{int x,y;
};
note s[200005];
int ps[500];bool cmp(const note a,const note b) 
{if (a.x>b.x) return true;if (a.x<b.x) return false;if (a.y>b.y) return true;if (a.y<b.y) return false;return true;
}int main()
{freopen("symmetry.in","r",stdin);freopen("symmetry.out","w",stdout);cin>>n;bool pd=true;for (i=1;i<=n;i++) {cin>>s[i].x>>s[i].y;}sort(s+1,s+n+1,cmp);double tx=( (double)(s[1].x+s[n].x)/2);double ty=( (double)(s[1].y+s[n].y)/2);bool flag=true;for (i=1;i<=(n>>1)+1;i++){if ((double)((s[i].x+s[n-i+1].x)) != (tx*2) ) {flag=false;break;}if ((double)((s[i].y+s[n-i+1].y)) != (ty*2) ) {flag=false;break;}}if (flag==true) printf("V.I.P. should stay at (%.1lf,%.1lf).",tx,ty); else cout<<"This is a dangerous situation!"<<endl; system("pause");return 0;
}

结果

转载于:https://www.cnblogs.com/seekdreamer/p/4002396.html

相关文章:

3-flutter 项目结构 资源 依赖

1 项目的名称 android 安卓相关工程文件 build 项目的构建输出目录 ios ios 相关的部分工程文件 lib 项目中的dart 源文件 src 包含其他的源文件main.dart 自动生成的项目入口文件 test 测试相关的文件 pubspec.ymal 项目依赖配置文件 3 归档图片资源和处理不同的分辨率…

python简史_命令行简史

python简史by Gitter通过吉特 命令行简史 (A Brief History of the Command Line) This post by Andy Trevorah, Engineer at Gitter, has been adapted from a talk that he originally gave at codebar, a non-profit initiative that facilitates the growth of a diverse …

4- flutter - Widget

Widget Flutter 中的view 就是widget 1 无状态和有状态的Widget StateslessWidgets 适用于用户界面不依赖于用户的信息的时候 StatesfulWidgets 有状态的&#xff0c;例如HTTP 网络请求或者用户交互之后收到数据动态表更新UI 这就是一个无状态的Widget Text("we like…

第一讲SQL命令的DDL和DML操作讲解

知识点&#xff1a; 一、sql命令DDL(结构化操作) 二、sql命令DML操作(增删改查) 1.sql命令DDL&#xff08;结构化操作&#xff09; 1.1表添加字段&#xff1a; alter table 表名 add 列定义 如&#xff1a; alter table Student add email varchar(128); 1.2 修改字段&#xff…

基于Tkinter利用python实现颜色空间转换程序

主要基于colorsys实现&#xff0c;例子是从hls转换到rgb&#xff0c;假设要换颜色空间非常easy仅仅须要改动一个函数 用到了Scale和Canvas组件 代码例如以下&#xff1a; from Tkinter import * import colorsys #操作后的响应函数 def update(* args):colorr,g,b colorsys.hl…

react 时刻表插件_React“啊哈”的时刻

react 时刻表插件As a teacher, one of my main goals is to maximize people’s “aha” moments.作为一名老师&#xff0c;我的主要目标之一是最大限度地利用人们的“哈哈”时刻。 An “aha” moment is a moment of sudden insight or clarity, where the subject starts t…

同样在JavaScript中

ES6有三个内置决定一些设施x和一些y是“相同的”。 它们是:平等或“双等于”(),严格平等或平等“三重”(),Object.is。 (注意,Object.is在ES6补充道。 等于两倍和三倍等于存在ES6之前,和他们的行为没有改变。) 概述 演示,下面是三个同样使用的比较: x y x y Object。是(x,…

5-flutter 布局和列表

布局和列表 类型作用特点Container只有一个子 Widget。默认充满&#xff0c;包含了padding、margin、color、宽高、decoration 等配置。Padding只有一个子 Widget。只用于设置Padding&#xff0c;常用于嵌套child&#xff0c;给child设置padding。Center只有一个子 Widget。只…

shell awk实战

一、文本处理 1、按行提取关键字频次&#xff08;如取第5列&#xff09; awk BEGIN{FS"|"} {a[$5]1;} END {for(i in a) print i ":" a[i];} OPT.ForumLogicNewServer_action_20161107.log | sort -nrk 2 -t : 2、日志用户每分钟访问量统计 这里我们统计日…

pix怎么抚养另一只猫_在工作和抚养两个孩子的同时,我如何在一年内获得第二学位并获得了5个开发人员认证...

pix怎么抚养另一只猫“The standard pace is for chumps. The system is designed so anyone can keep up. If you’re more driven than ‘just anyone’ — you can do so much more than anyone expects. And this applies to ALL of life — not just school.” — Derek S…

Wireshark网络抓包(三)——网络协议

一、ARP协议 ARP&#xff08;Address Resolution Protocol&#xff09;地址解析协议&#xff0c;将IP地址解析成MAC地址。 IP地址在OSI模型第三层&#xff0c;MAC地址在OSI第二层&#xff0c;彼此不直接通信&#xff1b; 在通过以太网发生IP数据包时&#xff0c;先封装第三层&a…

实现Java中的ArrayList

最近深受轮子哥影响&#xff0c;觉得造一些轮子应该会对自己的技术功底有一定的帮助&#xff0c;就决定先从简单的容器开始实现。废话不多说&#xff0c;就先实现一个Java中的ArrayList。 ArrayList是我们在Java中使用非常多的一个类&#xff0c;它是顺序表的数组实现&#xff…

6-flutter 状态管理

1 StatelessWidget 不需要状态改变的widget,它没有要管理的内部状态。 Text&#xff0c;CircleAvator 都是其子类 其传递的参数别final 修饰&#xff0c;不可变的 无状态的widget build 方法在以下三种情况下进行调用 当widget 插入到数中去当widget 父级更改配置的时候当…

大二上学数据结构和操作系统_毕业后的工作比上学要重要得多。 这是数据。...

大二上学数据结构和操作系统by Aline Lerner通过艾琳勒纳(Aline Lerner) 毕业后的工作比上学要重要得多。 这是数据。 (What you do after you graduate matters way more than where you went to school. Here’s the data.) The first blog post I published that got any r…

关于C#中编译器保证变量必须初始化规则猜想

现在两种情况&#xff1a; 第一种情况&#xff1a; using System; namespace Wrox {public class Program{static void Main(string[] args){int index; if(true){ index 100; } Console.WriteLine(index); Cons…

Bootstrap table表格

Bootstrap table 使用类 Class"table" 既可让table美化样式 table 相关的Class 隔行换色 &#xff1a; table-striped 鼠标悬停效果&#xff1a; table-hover 表格的边框 : table-bordered 垂直居中 : vertical-align 表头颜色&#xff1a;c…

flutter报错Could not connect to lockdownd, error code -

关于 flutter 报错信息解决方案 第一步&#xff1a; cmdshiftg 前往 /var/db 文件夹&#xff0c;找到lockdown文件夹&#xff0c;修改读写权限 第二步 &#xff1a; 打开命令行,依次执行 brew update brew uninstall --ignore-dependencies libimobiledevice brew uninstall…

k8s aws 部署_如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署

k8s aws 部署by Adam Watt通过亚当瓦特 如何在短短30分钟内使用CircleCI设置到AWS S3的持续部署 (How to setup Continuous Deployment to AWS S3 using CircleCI in just 30 minutes) Continuous Deployment might seem complicated at first, but don’t be intimidated. In…

SharePoint 2010 单点登录

SharePoint2010单点登录 1.进入管理中心》应用程序管理 2.找到 Secure Store Service 应用程序代理 3.然后就是新建了 5.输入网站集管理员 6.这个时候SharePoint就知道你需要给OA这个系统做单点登录了。 7.下一步就是我们要把我们进OA系统的帐号密码告诉SharePoint&#xff0c…

Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

Java IO流学习总结三&#xff1a;缓冲流-BufferedInputStream、BufferedOutputStream 转载请标明出处&#xff1a;http://blog.csdn.net/zhaoyanjun6/article/details/54894451 本文出自【赵彦军的博客】 InputStream |__FilterInputStream|__BufferedInputStream 首先抛出一个…

7-flutter Navigator 和Route

Route 和 Navigator 用于页面之间的跳转 一 Navigator 的 push 和 pop 用于页面之间的跳转 创建MaterialApp时可以指定routes参数&#xff0c;该参数是一个映射路由名称和构造器的Map 跳转的时候 使用 push 跳回的时候使用 pop import package:flutter/cupertino.dart; im…

小规模网络数据公开数据_大规模的在线公开课程曾经是100%免费的。 但是他们没有那样做。...

小规模网络数据公开数据I took one of the first Massive Open Online Courses (MOOCs) in 2011. Back then, everything was 100% free: the videos, the assignments, and the certificates. But in 2017, you can’t find this sort of free learning experience anymore.我…

swift -charts框架雷达图

参考资料 import UIKit import Chartsclass ViewController: UIViewController {let activities ["力量", "敏捷", "生命", "智力", "魔法"]override func viewDidLoad() {super.viewDidLoad()// Do any additional setup…

vector容器总结.xml

1 清空所有元素m_itemVector.clear(); 2 遍历vector<ITEM_CHECK>::iterator iterm_itemVector.begin(); for(i0;iter!m_itemVector.end();iter,i) { if(iter->flag-1) { break; } iter->flag1; } vector<ITEM_CHECK>::iterator iterm_itemVector.b…

Syncthing源码解析 - 第三方库

1&#xff0c;AudriusButkevicius/cli 网址&#xff1a;https://github.com/AudriusButkevicius/cli 2&#xff0c;bkaradzic/go-lz4 网址&#xff1a;https://github.com/bkaradzic/go-lz4 3&#xff0c;calmh 备注&#xff1a;这位是Syncthing项目创立者和最主要的开发者&…

安全工程师2017年真题_以下是2017年全球软件工程师的平均薪水

安全工程师2017年真题And here are those same salaries adjusted to San Francisco’s cost of living:以下是根据旧金山的生活费用调整后的相同工资&#xff1a; As you can see, cost of living is an important consideration. Also, you don’t need to move to San Fran…

测试思想 什么是软件测试(摘录)

什么是软件测试(摘录) by:授客 QQ&#xff1a;1033553122 IEEE 标准的定义:使用人工或自动的手段来运行或测定某个系统的过程&#xff0c;其目的在于检验;它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。对软件测试还有一些不同的定义。 G.J.Myers给出的定义:“程…

8-flutter 异步和线程

线程和异步的UI 1 异步的使用 Dart 有一个单线程执行模型&#xff0c;支持Isolate&#xff08;一种在另外一种线程运行dart的方法&#xff09;,一个事件循环和异步编程。 可以使用async / await 来做网络请求不会挂起UI 使用http 导入 import ‘dart:io’; import ‘dart:c…

前端页面紫红色_谷歌正在开发一种神秘的新型移动操作系统,称为紫红色

前端页面紫红色Google seems to be building a replacement for Android called Fuchsia. Yesterday, they revealed what their new Armadillo user interface looks like (see photo above, courtesy of Ars Technica).谷歌似乎正在建立一个名为Fuchsia的 Android替代产品。 …

iOS UIButton 文字图片上下左右布局

例如文字在左 图片在右,iOS 9 之后一句话搞定 backBtn.semanticContentAttribute UISemanticContentAttributeForceRightToLeft;按钮标题居左实现 dateBtn.contentHorizontalAlignment UIControlContentHorizontalAlignmentLeft; dateBtn.contentEdgeInsets UIEdgeInsetsMak…