Testo del problema
Sul piano sono posizionati diversi fogli rettangolari. Scrivi un programma per trovare l'area o il perimetro della parte coperta da questi fogli.
Tuttavia, considerando il piano come un piano cartesiano, si assuma che la disposizione dei fogli soddisfi le seguenti condizioni $(1)$ e $(2)$.
- $(1)$ Le coordinate $x, y$ dei $4$ vertici del rettangolo di ciascun foglio sono tutte numeri interi maggiori o uguali a $0$ e minori o uguali a $10000$, e ciascun lato del rettangolo è parallelo all'asse $x$ oppure all'asse $y$.
- $(2)$ Il numero di fogli è al più $10000$.
Il nome del file di input è input.txt. Nella $1$-ª riga di input.txt sono scritti, separati da uno spazio, il numero di rettangoli $n$ e un intero $r$ che rappresenta il tipo di problema. In ciascuna riga a partire dalla $2$-ª riga sono scritti i valori delle coordinate del vertice inferiore sinistro $(x_1, y_1)$ e del vertice superiore destro $(x_2, y_2)$ di ciascun foglio, nell'ordine $x_1, y_1, x_2, y_2$ e separati da spazi.
Il nome del file di output è output.txt. In output.txt, quando $r = 1$ stampa l'area nella $1$-ª riga, mentre quando $r = 2$ stampa l'area nella $1$-ª riga e la lunghezza del perimetro nella $2$-ª riga. In entrambi i casi, inserisci un ritorno a capo alla fine.
Inoltre, nel $40\%$ dei dati di test le coordinate dei vertici dei rettangoli sono comprese tra $0$ e $100$ inclusi, e $1/2$ di essi sono problemi in cui si richiede soltanto l'area. In aggiunta, $1/2$ dell'intero insieme dei dati di test è costituito da problemi in cui si richiede soltanto l'area.
Esempio 1
Input di esempio 1
5 1 0 0 3 2 1 1 2 5 0 4 6 5 3 3 5 6 5 0 7 6
Output di esempio 1
29
Esempio 2
Input di esempio 2
5 2 0 0 3 2 1 1 2 5 0 4 6 5 3 3 5 6 5 0 7 6
Output di esempio 2
29 38
Esempio 3
Input di esempio 3
2 2 0 0 8 9 0 0 9 8
Output di esempio 3
80 36
Esempio 4
Input di esempio 4
3 2 2 2 8 8 3 0 4 9 5 0 7 9
Output di esempio 4
45 36