解题思路(暴力解法)

  1. 平行于x轴的正方形和与x轴成45度倾斜的正方形相交的点中必定有整数点。即若两正方形相交,必定存在整数i,j,使(i,j)同时属于两个正方形。
  2. 我们把两个正方形中的整数点都找出来,看一下有没有重复点,就可以判断是否相交。

代码

#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(暴力求解)相关推荐

  1. NYOJ 643 发短信 暴力求解

    发短信 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 下图是手机常用的九键英文输入法界面,如果要输入字母'A',我们只 需要按一次数字键2,按键顺序记为2:如果要输入字 ...

  2. 第四章 分治策略 4.1 最大子数组问题 (暴力求解算法)

    /*** 最大子数组的暴力求解算法,复杂度为o(n2)* @param n* @return*/static MaxSubarray findMaxSubarraySlower(int[] n) {l ...

  3. python输入多个字符串、输入最长的一串_无重复字符的最长子串(Python之暴力求解)...

    无重复字符的最长子串(Python之暴力求解) 例题: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: (1) 输入: "abcabcbb" 输出: 3 ...

  4. 考研概率论--87年真题--MATLAB暴力求解

    考研概率论--87年真题--MATLAB暴力求解 1. 问题描述 2. MATLAB代码 3. 运行结果 4. 总结 1. 问题描述 (1987考研数学真题)假设有两箱同种零件:第一箱内装50件,其中 ...

  5. 斗地主残局破解算法,斗地主残局暴力求解器算法,秒解各种斗地主残局

    斗地主残局破解,斗地主残局暴力求解器,秒解各种斗地主残局 秒解抖音.微信等各大平台的斗地主残局挑战 支持自定义出牌规则 输入双方的牌后单击"开始求解"按钮即可 求解完成后,电脑会自 ...

  6. 算法 |【实验5.2】1-深度优先搜索暴力求解旅行商问题

    文章目录 使用深度优先搜索暴力求解旅行商问题 1.题目描述 2.问题分析与算法设计思路 3.算法实现 4.运行结果 5.算法分析 使用深度优先搜索暴力求解旅行商问题 1.题目描述 商品推销员要去n个城 ...

  7. 暴力求解之中转站问题

    题目描述:  Shopee物流会有很多个中转站.在选址的过程中,会选择离用户最近的地方建一个物流中转站.假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0.找到一个空地修建一个物流中转站 ...

  8. 每天一道算法题-暴力求解建物流中间站

    Shopee物流会有很多个中转站.在选址的过程中,会选择离用户最近的地方建一个物流中转站. 假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0.找到一个空地修建一个物流中转站,使得这个物 ...

  9. Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)——暴力求解多源点最短路

    文章目录 Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)--暴力求解多源点最短路 简介 思想与原理 邻接矩阵解题模板 邻接表解题模板 Floyd(弗洛伊德)算法(邻接矩阵与邻接表实现)--暴力求解 ...

最新文章

  1. 今晚直播 | 来自《简明的 TensorFlow 2》作者,Google开发者专家的分享
  2. ​机器学习算法优缺点对比及选择(汇总篇)
  3. YSlow简介与使用(转)
  4. HDU 2393 Higher Math
  5. 华为手环怎么没有上鸿蒙,不再是大号手环!华为鸿蒙手表来了:要和苹果抢生态?...
  6. MySQL关联更新update
  7. 威斯康星大学计算机专业找工作,威斯康星麦迪逊大学计算机申请条件有哪些?...
  8. 解决Spring+Quartz无法自动注入bean问题
  9. c#中怎么禁用和开启无线网卡?
  10. Traefik-kubernetes 初试
  11. Linux/Windows下查看同一网段下的所有活动IP
  12. 机器学习基础算法32-隐马尔科夫模型HMM
  13. 算法导论7:选择算法和数据结构准备 2016.1.7
  14. 看看哪些小程序能帮你赚点零花钱!
  15. dosbox运行C语言,DosBox的基本设置和安装
  16. 百度网盘正版免费扩容教程
  17. 纠删码(Erasure Code)及其演进LRC(Locally Repairable Codes)原理讲解
  18. 3D文件压缩库——Draco简析
  19. 农行网上银行交电费痛苦经历
  20. 【一文学会】vue.js入门到放弃

热门文章

  1. Java黑皮书课后题第3章:**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠
  2. 线段树 区间加 gcd 差分
  3. django ORM 操作
  4. spark dataFrame withColumn
  5. python——数据类型
  6. 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事
  7. 插入排序和冒泡排序算法JAVA实现
  8. Clean Code第三章函数
  9. android studio插件提升工作效率
  10. Windows Server 2008 R2 负载平衡入门篇