【赛氪 Saikr】不正方形(数学、平面几何 ps:今天打了假赛)

article/2025/10/25 2:45:04

题目:

不正方形

Description

今天是数学课!小A发现同学们上课很消极,于是给大家出了一个数学小游戏。

小A在黑板上画了一个很大很大的平面直角坐标系,然后给出了若干个红点和黄点,现在同学们需要回答,这些点能否构成一个不正方形

不正方形的定义为:四个点构成一个凸四边形,且相对顶点颜色相同,相邻顶点颜色不同。

为了降低难度,认真的小A保证不会有重点(即不会有两个点坐标相同),也不会有三个点共线的情况。

同学们觉得很有趣,但这个问题对于小朋友们还太难了,聪明的你能帮帮他们吗?

Input

第一行两个正整数,n、m。

接下来n行,每行两个整数x和y,表示红点的坐标。

接下来m行,每行两个整数x和y,表示黄点的坐标。

1<n,m<=250, 1<=x,y<=10 7

Output

如果能构成,输出“YES”;否则,输出“NO”。(不含双引号)

Sample Input 1

2 2
1 1
2 2
1 2
2 1

Sample Output 1

YES

解题思路:

这题感觉是一个数学题,关键就在这个凸四边形。什么是凸四边形简单来说就是四边形的内角全部都小于180度,理解到这对于解这个题已经足够了,首先我们需要知道怎么样才能画出凸四边形,我们假想在一个二维平面中选择三个点,我们会发现在第四个点确定之前我们是没有办法得知这个四边形是凹四边形还是凸四边形,所以第四个点的位置将决定该四边形的形状,我们找到凹凸转换的临界态时第四个点的位置就能解出来这道题了,当第四个点在已经确定出的对角线上时,以第四个点为顶点的内角为180度。在这条对角线上开始,只增大或者减小横坐标都可能使四边形变成凸多边形,具体增大或者减小与另一个点的位置有关,移动完后,如果这两个点位于对角线的同一侧,那么就是凹多边形,异侧就是凸多边形

接下来就是用程序语言解决问题了,题目还有一个要求,相邻点颜色不同,对角点颜色相同,别看这个是一个附加条件实际上是为我们解题提供便利,这在告诉我们如何找对角线的点,依次取一种颜色中的两个点,判断其他颜色点相对于这两点构成直线的位置,如果在两侧都有另一种颜色的点那么就可以画出凸正方形,如果没有那么就不可以。

代码部分:

#include<bits/stdc++.h>
using namespace std;
int red[255][2],yellow[255][2];//红色、黄色两点的位置;bool check_up(int a,int b,int c,int d,int e,int f)//判断点(e,f)是否在(a,b),(c,d)所构成的直线(一条对角线)上方;
{double k = (double)(b-d)/(a-c);double b_ = (double)b-(double)a*k;double y_ = (double)e*k+b_;double f_ = (double)f;if(f_ >= y_)return true;elsereturn false;}
int main()
{int n,m;cin >> n >> m;//两种颜色的输入for(int i = 0; i < n; i++){int a,b;cin >> a >> b;red[i][0] = a;red[i][1] = b;}for(int i = 0; i < n; i++){int a,b;cin >> a >> b;yellow[i][0] = a;yellow[i][1] = b;}int up,low;//遍历任选红色点的所有可能;for(int i = 0; i < n; i++){for(int j = i; j < n; j++){up = 0,low = 0;//上方是否有点和下方是否有点的标记;for(int k = 0; k < m; k++){if(check_up(red[i][0],red[i][1],red[j][0],red[j][1],yellow[k][0],yellow[k][1]))up = 1;elselow = 1;}if(up == 1 && low == 1)//可以画出凸四边形;break;}if(up == 1 && low == 1)break;}if(up == 1 && low == 1)//可以画出凸四边形;cout << "YES" ;elsecout << "NO";return 0;
}

PS:前几天在赛氪上买了一个比赛,今天是比赛时间,这道题也是我今天做的,但是并不是比赛题目........ma die我进错oj了,因为开始的时候晚了一点,所以开始看到题啥都没想就开始做了,比赛结束,我随便点着看,结果发现了正确的竞赛入口,额......绝望,打了个真“假赛”,还好不是啥大比赛,就当花钱买了个教训以后细致一点吧,也提醒大家不要犯和我一样愚蠢的错误。


http://chatgpt.dhexx.cn/article/qPjlk8J1.shtml

相关文章

数学真正的意义

产业智能官&#xff1a;“很多人对现代数学充满疑虑&#xff0c;成长的过程中被数学的难题长期折磨而产生的心理阴影。因此&#xff0c;数学成了社交网络中避而不谈的话题。 很早以前&#xff0c;我们就被教育“数学是思维的体操”。但是&#xff0c;对大脑是如何受益于这种体…

查询语文成绩大于数学的学生

Oracle --创建表&#xff0c;插入资料 create table lx ( sno number(10), course varchar2(10), score number(10) ) insert into lx select 3,语文,90 from dual union select 3,数学,68 from dual select * from lx 写法1&#xff1a; 将语文成绩&#xff0c;数学…

美团2022秋招笔试题-小美的数学题-栈

题目描述 阔浩序列是这样定义的: 空串是合法的序列,且代价1如果 s 是合法的阔浩序列,那么( s )也是合法的,且( s )的代价为 s1如果s,t都是合法的,那么它们拼接起来的 st 也是合法,且总的代价为s的代价*t 的代价。 例如,(()())()是合法的&#xff0c;其代价为(2*21)*210 输入…

那些虐哭过你的大学数学课都有什么用处?看完后恍然大悟!

导读&#xff1a;高等数学有什么用&#xff1f;很多人都在问这个问题。其实大多数人在问这个问题的时候&#xff0c;心里已经预设了否定的答案。确实&#xff0c;对于大多数人来说&#xff0c;已经发展到了连数字都基本很少用了的一些高等数学分支&#xff0c;是过于虚无飘渺了…

程序员,想转型人工智能吗?先补补数学课吧!

人工智能很火&#xff0c;也很高端&#xff0c;深度学习、机器学习、视觉识别&#xff0c;听上去就很高大上。而且不仅仅是听上去高大上&#xff0c;现实当中确实也是实实在在的高大上。 在互联网圈子里&#xff0c;有一句话流传甚广&#xff1a;得人工智能者得天下。根据脉脉…

数学知识(习题课)

异或运算&#xff08;不进位加法&#xff09; 台阶Nim游戏必胜策略&#xff1a; 拆分Nim游戏 利用sg定理&#xff08;后期再把sg定理给大家好好写一下&#xff09;

2021年辽宁省大学生数学建模

2021年辽宁省大学生数学建模 C题 碳中和问题 碳中和是指人为排放量&#xff08;化石燃料利用和土地利用&#xff09;被人为努力&#xff08;木材蓄积量、土壤有机碳、工程封存等&#xff09;和自然过程&#xff08;海洋吸收、侵蚀-沉积过程的碳埋藏等&#xff09;所吸收。简单…

计算机专业数学建模结课论文,数学建模结课论文3000字论文

数学建模结课论文3000字论文 此频道为与数学建模和论文和字论文有关的范文,免费给你写数学建模结课论文提供相关参考文献资料。 摘 要:研究性学习中数学建模作为中职教育教学的重要组成部分,在教学的探索中取得了一定的成效。数学建模在解决数学问题时能够更好地调动学生自身…

当前目录下有一个文件名为 class_score.txt 的文本文件,存放着某班学生的学号、数学课成绩(第 2 列)和语文课成绩(第 3 列)。请编程完成下列要求。

练习三&#xff1a;当前目录下有一个文件名为 class_score.txt 的文本文件&#xff0c;存放着某班学生的学号、数学课成绩&#xff08;第 2 列&#xff09;和语文课成绩&#xff08;第 3 列&#xff09;。请编程完成下列要求&#xff1a; &#xff08;1&#xff09;分别求这个班…

土圭垚㙓数学课(一)万向锁(Gimbal Lock)

何为万向锁&#xff0c;我们先抛弃掉那些理论&#xff0c;直接举个栗子。 以你自身为对象。 首先&#xff0c;原地旋转为第一个维度&#xff0c;也就是heading。 其次&#xff0c;正翻跟头为第二个维度&#xff0c;也就是pitch。 然后&#xff0c;侧翻跟头为第三个维度&…

令人讨厌的是数学课,不是数学----《一个数学家的叹息》

机缘巧合&#xff0c;看到了一本书&#xff0c;深受触动。 书中所说的理念正是马同学一直想去、要去、希望能够做到的&#xff0c;借用书中的话&#xff1a; 数学是理性的音乐。做数学是从事发现与猜测、直觉与灵感的活动&#xff1b;是进入疑惑的状态——不是因为它让你搞不懂…

五使用计算机上数学课英文,数学课用英语怎么说

目录 一、她正在上数学课用英语怎么说 请帮忙&#xff0c;我不会英语翻译&#xff01; 数学课mθs 语文课ˌtʃaɪˈni:z 英语课ˈɪŋglɪʃ 体育课ˈfizikəl ˈkʌltʃə 电脑课kəmˈpju:tə(r) 科学课[saɪəns] 音乐课[mju:zɪk] 美术课[ɑ&#xff1a;t] 品德课[ˈmɔ&a…

Android HttpDns:我的域名我做主

Android HttpDns&#xff1a;我的域名我做主 之前公司的产品遇到了用户忽然无法登陆使用的问题&#xff0c;后来查明是因为在用户发布的内容里有一张被判定为黄图的图片&#xff0c;导致我们的域名被运营商封锁。还有一种情况&#xff0c;部分地区的用户使用我们的产品时页面上…

HTTPDNS基礎知識

什么是 DNS DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;&#xff0c;DNS 服务用于在网络请求时&#xff0c;将域名转为 IP 地址。能够使用户更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的 IP 数串。 传统的基于 UDP 协议的公共 D…

HTTPDNS调度

小编&#xff1a;对于互联网&#xff0c;域名是访问的第一跳&#xff0c;而这一跳很多时候会“失足”&#xff0c;导致访问错误内容&#xff0c;失败连接等&#xff0c;让我们在互联网上畅游的爽快瞬间消失&#xff0c;而对于这关键的第一跳&#xff0c;鹅厂也在持续深入研究和…

阿里云HttpDns接入

个人博客 http://www.milovetingting.cn 前言 简单记录集成阿里云HTTPDNS服务的过程 什么是HTTPDNS HTTPDNS是面向多端应用&#xff08;移动端APP&#xff0c;PC客户端应用&#xff09;的域名解析服务&#xff0c;具有域名防劫持、精准调度、实时解析生效的特性。 以上来自阿…

HTTPDNS解析

简介 HTTPDNS使用HTTP协议进行域名解析&#xff0c;代替现有基于UDP的DNS协议&#xff0c;域名解析请求直接发送到阿里云的HTTPDNS服务器&#xff0c;从而绕过运营商的Local DNS&#xff0c;能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推…

httpdns技术有什么用

dns解析现状问题1&#xff1a;暴利的dns劫持# 要说为啥会出现httpdns&#xff08;先不用管意思&#xff0c;后面解释&#xff09;&#xff0c;那么&#xff0c;首先要说一下&#xff0c;现在的dns解析&#xff0c;是不是有啥问题&#xff1f; dns能有啥问题呢&#xff0c;就是…

什么是HTTPDNS跟随阿里的httpdns demo一步一步了解httpdns

阿里巴巴是这样说的 HTTPDNS使用HTTP协议进行域名解析&#xff0c;代替现有基于UDP的DNS协议&#xff0c;域名解析请求直接发送到阿里云的HTTPDNS服务器&#xff0c;从而绕过运营商的Local DNS&#xff0c;能够避免Local DNS造成的域名劫持问题和调度不精准问题。 分析demo htt…

HTTPDNS 快速入门

作者&#xff1a;林子 对于互联网&#xff0c;域名解析是访问的第一步&#xff0c;而这一步很多时候会导致访问速度慢、失败&#xff0c;甚至无法访问等&#xff0c;那么怎么解决这些问题呢&#xff1f;本文将带你快速入门 HTTPDNS&#xff0c;怎么解决 LocalDNS 异常导致用户访…