首页 > 代码库 > hdoj:2056
hdoj:2056
#include <iostream> #include <iomanip> #include <cstdlib> using namespace std; struct node { double a, b, c, d; node(){} void add(double a, double b, double c, double d){ this->a = a; this->b = b; this->c = c; this->d = d; } void change(void) { // 使得矩阵形式一样 if (a > c) swap(a, c); if (b > d) swap(b, d); return; } }matrix_1, matrix_2; double min(double a, double b) { return a<b ? a : b; } double max(double a, double b) { return a>b ? a : b; } double calc() { double x = min(matrix_1.c, matrix_2.c) - max(matrix_1.a, matrix_2.a); double y = min(matrix_1.d, matrix_2.d) - max(matrix_1.b, matrix_2.b); if (x < 0.00001 || y < 0.00001) { return 0.0; } else { return x * y; } } int main() { double a, b, c, d; while (cin >> a >> b >> c >> d) { matrix_1.add(a, b, c, d); cin >> a >> b >> c >> d; matrix_2.add(a, b, c, d); matrix_1.change(); matrix_2.change(); cout << fixed << setprecision(2) << calc() << endl; } return 0; }
hdoj:2056
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。