Codeforces 993A. Two Squares(暴力求解)
解题思路(暴力解法)
- 平行于x轴的正方形和与x轴成45度倾斜的正方形相交的点中必定有整数点。即若两正方形相交,必定存在整数i,j,使(i,j)同时属于两个正方形。
- 我们把两个正方形中的整数点都找出来,看一下有没有重复点,就可以判断是否相交。
代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct point{int x;int y;
}sq[4],sp[4];bool cmp(point a,point b){if(a.x == b.x) return a.y < b.y;return a.x < b.x;
}//t[i][j]=1表示第一个正方形包含这个点。
int t[220][220];
void tian(point a,point b){for(int i = a.x;i <= b.x; ++i){for(int j = a.y;j <= b.y; ++j){t[i][j] = 1;}}
}//判断第二个正方形是否包含t[i][j]为1的点(i,j)
bool judge(point* sp){for(int i = sp[0].x;i <= sp[1].x; ++i){for(int j = 0;j <= i-sp[0].x; ++j){if(t[i][sp[0].y+j] == 1 or t[i][sp[0].y-j] == 1){return true;}}}for(int i = sp[1].x;i <= sp[3].x; ++i){for(int j = 0;j <= sp[2].y-sp[0].y-(i-sp[1].x); ++j){if(t[i][sp[0].y+j] == 1 or t[i][sp[0].y-j] == 1){return true;}}}return false;
}int main(){for(int i = 0;i < 4; ++i) cin >> sq[i].x >> sq[i].y, sq[i].x+=100,sq[i].y+=100;for(int i = 0;i < 4; ++i) cin >> sp[i].x >> sp[i].y, sp[i].x+=100,sp[i].y+=100; sort(sq,sq+4,cmp);sort(sp,sp+4,cmp);tian(sq[0],sq[3]);if(judge(sp)) cout << "YES" << endl;else cout << "NO" << endl;return 0;
}
Codeforces 993A. Two Squares(暴力求解)相关推荐
- NYOJ 643 发短信 暴力求解
发短信 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只 需要按一次数字键2,按键顺序记为2:如果要输入字 ...
- 第四章 分治策略 4.1 最大子数组问题 (暴力求解算法)
/*** 最大子数组的暴力求解算法,复杂度为o(n2)* @param n* @return*/static MaxSubarray findMaxSubarraySlower(int[] n) {l ...
- python输入多个字符串、输入最长的一串_无重复字符的最长子串(Python之暴力求解)...
无重复字符的最长子串(Python之暴力求解) 例题: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: (1) 输入: "abcabcbb" 输出: 3 ...
- 考研概率论--87年真题--MATLAB暴力求解
考研概率论--87年真题--MATLAB暴力求解 1. 问题描述 2. MATLAB代码 3. 运行结果 4. 总结 1. 问题描述 (1987考研数学真题)假设有两箱同种零件:第一箱内装50件,其中 ...
- 斗地主残局破解算法,斗地主残局暴力求解器算法,秒解各种斗地主残局
斗地主残局破解,斗地主残局暴力求解器,秒解各种斗地主残局 秒解抖音.微信等各大平台的斗地主残局挑战 支持自定义出牌规则 输入双方的牌后单击"开始求解"按钮即可 求解完成后,电脑会自 ...
- 算法 |【实验5.2】1-深度优先搜索暴力求解旅行商问题
文章目录 使用深度优先搜索暴力求解旅行商问题 1.题目描述 2.问题分析与算法设计思路 3.算法实现 4.运行结果 5.算法分析 使用深度优先搜索暴力求解旅行商问题 1.题目描述 商品推销员要去n个城 ...
- 暴力求解之中转站问题
题目描述: Shopee物流会有很多个中转站.在选址的过程中,会选择离用户最近的地方建一个物流中转站.假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0.找到一个空地修建一个物流中转站 ...
- 每天一道算法题-暴力求解建物流中间站
Shopee物流会有很多个中转站.在选址的过程中,会选择离用户最近的地方建一个物流中转站. 假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0.找到一个空地修建一个物流中转站,使得这个物 ...
- Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)——暴力求解多源点最短路
文章目录 Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)--暴力求解多源点最短路 简介 思想与原理 邻接矩阵解题模板 邻接表解题模板 Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)--暴力求解 ...
最新文章
- 今晚直播 | 来自《简明的 TensorFlow 2》作者,Google开发者专家的分享
- ​机器学习算法优缺点对比及选择(汇总篇)
- YSlow简介与使用(转)
- HDU 2393 Higher Math
- 华为手环怎么没有上鸿蒙,不再是大号手环!华为鸿蒙手表来了:要和苹果抢生态?...
- MySQL关联更新update
- 威斯康星大学计算机专业找工作,威斯康星麦迪逊大学计算机申请条件有哪些?...
- 解决Spring+Quartz无法自动注入bean问题
- c#中怎么禁用和开启无线网卡?
- Traefik-kubernetes 初试
- Linux/Windows下查看同一网段下的所有活动IP
- 机器学习基础算法32-隐马尔科夫模型HMM
- 算法导论7:选择算法和数据结构准备 2016.1.7
- 看看哪些小程序能帮你赚点零花钱!
- dosbox运行C语言,DosBox的基本设置和安装
- 百度网盘正版免费扩容教程
- 纠删码(Erasure Code)及其演进LRC(Locally Repairable Codes)原理讲解
- 3D文件压缩库——Draco简析
- 农行网上银行交电费痛苦经历
- 【一文学会】vue.js入门到放弃
热门文章
- Java黑皮书课后题第3章:**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠
- 线段树 区间加 gcd 差分
- django ORM 操作
- spark dataFrame withColumn
- python——数据类型
- 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事
- 插入排序和冒泡排序算法JAVA实现
- Clean Code第三章函数
- android studio插件提升工作效率
- Windows Server 2008 R2 负载平衡入门篇