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(暴力求解)的更多相关文章
- CodeForces 993A Two Squares(数学 几何)
https://codeforces.com/problemset/problem/993/A 题意: 给你两个矩形,第一行是一个正面表示的矩形,第二个是一个旋转四十五度角的矩形,问这两个矩形是否相交 ...
- POJ 1562(L - 暴力求解、DFS)
油田问题(L - 暴力求解.DFS) Description The GeoSurvComp geologic survey company is responsible for detecting ...
- 逆向暴力求解 538.D Weird Chess
11.12.2018 逆向暴力求解 538.D Weird Chess New Point: 没有读好题 越界的情况无法判断,所以输出任何一种就可以 所以他给你的样例输出完全是误导 输出还搞错了~ 输 ...
- 隐型马尔科夫模型(HMM)向前算法实例讲解(暴力求解+代码实现)---盒子模型
先来解释一下HMM的向前算法: 前向后向算法是前向算法和后向算法的统称,这两个算法都可以用来求HMM观测序列的概率.我们先来看看前向算法是如何求解这个问题的. 前向算法本质上属于动态规划的算法,也就是 ...
- BestCoder Round #79 (div.2)-jrMz and angles,,暴力求解~
jrMz and angle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- hdu6570Wave (暴力求解)
Problem Description Avin is studying series. A series is called "wave" if the following co ...
- <字符串匹配>KMP算法为何比暴力求解的时间复杂度更低?
str表示文本串,m表示模式串; str[i+j] 和 m[j] 是正在进行匹配的字符; KMP的时间复杂度是O(m+n) , 暴力求解的时间复杂度是O(m*n) KMP利用了B[0:j]和A[i ...
- CodeForces 339C Xenia and Weights(暴力求解DFS)
题意:给定 1-10的某几种砝码,给定的每种有无穷多个,然后放 m 个在天平上,要满足,相邻的两次放的砝码不能是同一种,然后是在天平两端轮流放,并且放在哪一个托盘上,那么天平必须是往哪边偏. 析:这个 ...
- Codeforces 986A. Fair(对物品bfs暴力求解)
解题思路: 1.对物品i bfs,更新每个小镇j获得每个物品i的最短距离. 2.时间复杂度o(n*k),满足2s的要求. 代码: #include <iostream> #include ...
随机推荐
- 使用Caffe预测遇到的问题
1. 在使用网络预测图像时, prediction = net.predict( [input_image] ) 出现: net.image_dims[0] 不是整数情况, (2).甚至以为np.ze ...
- gitlab安装和汉化
Centos 7.x 安装 gitlab-ce-8.8.0-ce 一.安装配置依赖项 yum -y install curl unzip policycoreutils git wget # 依赖包 ...
- PHP SPL 文件处理(SplFileInfo和SplFileObject)
SplFileInfo用来获取文件详细信息.SplFileObject遍历.查找指定行.写入csv文件等内容 SplFileInfo用来获取文件详细信息: $file = new SplFileInf ...
- 【转】ROI Pooling
Faster rcnn的整体构架: 训练的大致过程: 1.图片先缩放到MxN的尺寸,之后进入vgg16后得到(W/16,H/16)大小的feature map: 2.对于得到的大小为(W/16,H/1 ...
- 历年真题 未完成(Noip 2008 - Noip 2017)
Noip 2008 :全部 Noip 2009 :全部 Noip 2010 :AK Noip 2011 :AK Noip 2012 : Vigenère 密码,国王游戏,开车旅行 Noip 2013 ...
- node——模块化
之前写的新闻部分几乎所有操作都写在了一起,这次开始进行模块化. 为什么要模块化: 1.提高开发效率,所有操作在一个文件内,不方便团队操作,模块化可多人同时操作 2.当程序出错,可以分模块寻找错误 3. ...
- Problem 8
Problem 8 # Problem_8.py """ The four adjacent digits in the 1000-digit number that h ...
- Python CSV- 绘制气温图表
CSV- 绘制气温图表 资源: 链接: https://pan.baidu.com/s/1kqREk-sRnOcC34Mh1lBDHQ 提取码: uyx7 # highs_lows_Jul.py 最 ...
- vue 如何清除定时器
在页面中需要定时刷新局部数据,在数据变化是否频繁的情况下,没有必要使用webSocket,因为数据变化频繁,数据实时变化太快看不清楚.因此页面会定时调用后台接口以达到实时刷新数据的效果. 1.在dat ...
- keepalived安装实现nginx主备高可用
. keepalived安装环境 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y install popt ...