ZSTUOJ 4362:不要方
来源:互联网 发布:网络剧 余罪 沈嘉文 编辑:程序博客网 时间:2024/06/06 19:45
Description
现在有两个矩形,请算出它们公共面积的大小。
Input
多组测试数据。
每组输入形如:
x1 y1 x2 y2
x3 y3 x4 y4
(x1,y1)为第一个矩形的左上角的坐标,(x2,y2)位第一个矩形右下角的坐标。
(x3,y3)为第二个矩形的左上角的坐标,(x4,y4)位第二个矩形右下角的坐标。
所有数据的绝对值小于等于100,且均是整数。
Output
请输出对应的答案。
Sample Input
1 4 2 1
0 3 3 2
0 2 1 1
3 4 4 3
0 2 3 1
2 3 4 0
Sample Output
1
0
1
一般思路:除去不相交的情况后,算出阴影部分面积即可
// 开始的时候思维江化又是各种if判断WA,
#include <iostream>#include <cmath>#include <cstring>#include <string>#include <algorithm>using namespace std;int main(){ int x1,y1,x2,y2; int x3,y3,x4,y4; while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4) { int ans=0; if(x3>x2||x4<x1||y4>y1||y2>y3)//判断是否相交 { cout<<0<<endl; } else { ans=abs((min(y1,y3)-max(y2,y4))*(min(x2,x4)-max(x1,x3)));//y1,y3中的大值(上方数)与y2,y4中的小值(下方数),x1,x3中的大值(右侧数)与x2,x4中的小值(左侧数)-> 阴影部分的长宽 cout<<ans<<endl; } } return 0;}
用二维数组标记,若标记两次的即为相交部分,故可求得面积
考虑到输入的坐标可能是负数而数组的下标从0开始,故将坐标+100存储标记
// 只是思路还没实现
阅读全文
0 0
- ZSTUOJ 4362:不要方
- zstuoj 4355
- 方林达:为什么不要炒股票
- 微信小程序码:不要方,就爱圆
- 使用三方一定不要忘记初始化
- String Game【ZSTUOJ--4212】
- Jug Hard【ZSTUOJ--4216】
- ZSTUOJ 4215 Landlocked
- ZSTUOJ 4212 String Game
- zstuoj 4243 牛吃草
- zstuoj 4246 萌新吃果果
- zstuoj 4243 牛吃草
- zstuoj 4274 约素
- zstuoj 4269 买iphone
- ZSTUOJ 4266 回文
- zstuoj 4270: 同源数
- ZSTUOJ 4273: 玩具
- ZSTUOJ 4270: 同源数
- 广义离散卷积定理——离散傅里叶卷积定理的推广
- 网络编程
- 提取不重复的整数
- [业界良心]OI知识点汇总
- pygame函数
- ZSTUOJ 4362:不要方
- c/c++ 程序的命令行编译选项
- [自用]apiCloud结合canvas手机端手势密码
- java的输入输出流与文件操作(2.读入写出及关流)
- 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
- spring 核心与源码解析(0):前言
- git push时出现Username for 'https://github.com': 解决方法
- Linux 多线程编程
- 字符个数统计