沐里纷纷


私信TA

用户名:Epoch

访问量:62719

签 名:

我不会算法

等  级
排  名 37
经  验 12805
参赛次数 1
文章发表 172
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

不会算法

解题思路:

注意事项:

参考代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

bool judge(int maxX1,int minX1,int maxY1,int minY1,int maxX2,int minX2,int maxY2,int minY2){
	if(((minX2 >= minX1 && minX2 <= maxX1) || (maxX2 >= minX1 && maxX2 <= maxX1)) &&((minY2 >= minY1 && minY2 <=maxY1) || (maxY2 >= minY1 && maxY2 <=maxY1)))
		return true;
	else return false;
}

int main(void){
	double x1,x2,x3,x4,y1,y2,y3,y4;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
	double maxX1 = x1 > x2? x1 : x2;
	double maxY1 = y1 > y2? y1 : y2;	
	double minX1 = x1 < x2? x1 : x2;
	double minY1 = y1 < y2? y1 : y2;
	double maxX2 = x3 > x4? x3 : x4;
	double maxY2 = y3 > y4? y3 : y4;
	double minX2 = x3 < x4? x3 : x4;
	double minY2 = y3 < y4? y3 : y4;	
	double ans = 0;	
	if(judge(maxX1,minX1,maxY1,minY1,maxX2,minX2,maxY2,minY2)){
		double x1,x2,y1,y2;
		x1 = minX1 > minX2 ? minX1 : minX2;
		x2 = maxX1 < maxX2 ? maxX1 : maxX2;
		y1 = minY1 > minY2 ? minY1 : minY2;
		y2 = maxY1 < maxY2 ? maxY1 : maxY2;
		ans = (x2-x1)*(y2-y1);
	}
	printf("%.2lf",ans); 
	return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区