[藍橋杯][基礎練習VIP]矩形面積交
題目描述
平面上有兩個矩形,它們的邊平行於直角座標系的X軸或Y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。
輸入
輸入僅包含兩行,每行描述一個矩形。
在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10^7的實數表示。
輸出
輸出僅包含一個實數,為交的面積,保留到小數後兩位。
樣例輸入
1 1 3 3 2 2 4 4
樣例輸出
1.00
簡單的幾何題,但不熟悉幾何題= =
import java.text.DecimalFormat;
import java.util.Scanner;
public class 矩形面積交 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("0.00");
double x1,y1,x2,y2,x3,y3,x4,y4;
x1 = in.nextDouble();
y1 = in.nextDouble();
x2 = in.nextDouble();
y2 = in.nextDouble();
x3 = in.nextDouble();
y3 = in.nextDouble();
x4 = in.nextDouble();
y4 = in.nextDouble();
double m1,n1,m2,n2;//(m1,n1)為右下的矩陣的左上點,(m1,n1)為左上的矩陣的右上點
m1 = Math.max(Math.min(x1, x2), Math.min(x3, x4));//取小找左,取大找右
n1 = Math.max(Math.min(y1, y2), Math.min(y3, y4));
m2 = Math.min(Math.max(x1, x2), Math.max(x3, x4));//取小找左,取大找右
n2 = Math.min(Math.max(y1, y2), Math.max(y3, y4));
// System.out.println(m1+" "+n1+" "+m2+" "+n2);
if(m2-m1>0 && n2-n1>0)
System.out.println(df.format((m2-m1)*(n2-n1)));
else
System.out.println("0.00");
}
}
相關文章
- 問題 1462: [藍橋杯][基礎練習VIP]Huffuman樹
- 藍橋杯:基礎練習 查詢整數
- 藍橋杯試題 基礎練習 特殊迴文數
- 發現一個可以練習藍橋杯VIP題目的網址
- [藍橋杯][演算法訓練VIP]方格取數演算法
- 藍橋杯基礎練習-找出唯一成對的數
- 藍橋杯 基礎練習 十六進位制轉八進位制
- 【藍橋杯】練習題目彙總
- 藍橋杯訓練2
- [藍橋杯][演算法提高VIP]最大乘積 貪心 雙指標演算法指標
- 藍橋杯練習系統題目集
- 藍橋杯-基礎練習-楊輝三角形(Python)AC程式碼PythonC程式
- [藍橋杯][演算法提高VIP]大數加法演算法
- 藍橋杯--演算法訓練演算法
- 藍橋杯—演算法訓練演算法
- [藍橋杯2018決賽]最大乘積
- [藍橋杯] 乘積最大(dfs或dp)
- 藍橋杯刷題-乘積尾零
- 藍橋杯練習試題程式碼及講解
- [藍橋杯][演算法提高VIP]尤拉函式演算法函式
- [藍橋杯][演算法提高VIP]超級瑪麗演算法
- [藍橋杯][演算法提高VIP]奪寶奇兵 dp演算法
- 藍橋杯
- 藍橋杯學習路線
- 藍橋杯:入門訓練 Fibonacci數列
- 【藍橋杯練習--二分】789. 數的範圍
- [藍橋杯][演算法提高VIP]分蘋果 線段樹演算法蘋果
- 題目 1501: [藍橋杯][演算法提高VIP]分蘋果演算法蘋果
- 藍橋杯 (java)演算法訓練 數對Java演算法
- P8675 [藍橋杯 2018 國 B] 搭積木
- 藍橋杯-分巧克力
- 藍橋杯-N皇后
- 藍橋杯真題
- 藍橋杯 買瓜
- 藍橋杯 剪格子
- 藍橋杯訓練--母牛的故事(很清晰的思路)
- 第九屆藍橋杯B組省賽———乘積最大
- 藍橋杯ACM簡單題-交換瓶子 2020-12-22ACM