โจทย์ปัญหา
มีแผ่นรูปสี่เหลี่ยมผืนผ้าจำนวนหนึ่งวางอยู่บนระนาบ จงเขียนโปรแกรมเพื่อหาพื้นที่และเส้นรอบรูปของส่วนที่ถูกปกคลุมด้วยแผ่นเหล่านี้
อย่างไรก็ตาม เมื่อถือว่าระนาบเป็นระนาบพิกัดฉาก กำหนดให้การจัดวางแผ่นเป็นไปตามเงื่อนไข $(1)$, $(2)$ ต่อไปนี้
- $(1)$ พิกัด $x, y$ ของจุดยอดทั้ง $4$ ของรูปสี่เหลี่ยมผืนผ้าแต่ละแผ่นเป็นจำนวนเต็มตั้งแต่ $0$ ถึง $10000$ ทั้งหมด และแต่ละด้านของรูปสี่เหลี่ยมผืนผ้าจะขนานกับแกน $x$ หรือแกน $y$
- $(2)$ จำนวนแผ่นมีอย่างมากไม่เกิน $10000$ แผ่น
ชื่อไฟล์ข้อมูลนำเข้าคือ input.txt ในบรรทัดที่ $1$ ของ input.txt จะเขียนจำนวนรูปสี่เหลี่ยมผืนผ้า $n$ และจำนวนเต็ม $r$ ที่แทนประเภทของโจทย์คั่นด้วยช่องว่าง ในแต่ละบรรทัดตั้งแต่บรรทัดที่ $2$ เป็นต้นไป จะเขียนค่าพิกัดของจุดยอดมุมล่างซ้าย $(x_1, y_1)$ และพิกัดของจุดยอดมุมบนขวา $(x_2, y_2)$ ของแต่ละแผ่น เรียงตามลำดับ $x_1, y_1, x_2, y_2$ คั่นด้วยช่องว่าง
ชื่อไฟล์ข้อมูลส่งออกคือ output.txt ใน output.txt เมื่อ $r = 1$ ให้แสดงพื้นที่ในบรรทัดที่ $1$ และเมื่อ $r = 2$ ให้แสดงพื้นที่ในบรรทัดที่ $1$ และความยาวเส้นรอบรูปในบรรทัดที่ $2$ ไม่ว่าในกรณีใด ให้ใส่การขึ้นบรรทัดใหม่ในตอนท้ายด้วย
นอกจากนี้ ใน $40\%$ ของข้อมูลทดสอบ พิกัดของจุดยอดของรูปสี่เหลี่ยมผืนผ้าจะมีค่าตั้งแต่ $0$ ถึง $100$ และ $1/2$ ของข้อมูลส่วนนั้นเป็นโจทย์ที่ให้หาเฉพาะพื้นที่ ยิ่งไปกว่านั้น $1/2$ ของข้อมูลทดสอบทั้งหมดเป็นโจทย์ที่ให้หาเฉพาะพื้นที่
ตัวอย่างที่ 1
ตัวอย่างข้อมูลนำเข้า 1
5 1 0 0 3 2 1 1 2 5 0 4 6 5 3 3 5 6 5 0 7 6
ตัวอย่างข้อมูลส่งออก 1
29
ตัวอย่างที่ 2
ตัวอย่างข้อมูลนำเข้า 2
5 2 0 0 3 2 1 1 2 5 0 4 6 5 3 3 5 6 5 0 7 6
ตัวอย่างข้อมูลส่งออก 2
29 38
ตัวอย่างที่ 3
ตัวอย่างข้อมูลนำเข้า 3
2 2 0 0 8 9 0 0 9 8
ตัวอย่างข้อมูลส่งออก 3
80 36
ตัวอย่างที่ 4
ตัวอย่างข้อมูลนำเข้า 4
3 2 2 2 8 8 3 0 4 9 5 0 7 9
ตัวอย่างข้อมูลส่งออก 4
45 36