Dati quattro punti nel piano cartesiano, si vuole determinare se essi formano i vertici di un quadrato, comunque disposto nel piano cartesiano.
Si noti che non necessariamente i lati del quadrato devono essere paralleli od ortogonali rispetto agli assi; inoltre, in alcuni casi, alcuni punti potrebbero essere coincidenti.
Scrivere un programma che riceve le coordinate dei quattro punti nel piano cartesiano e determina se questi formano un quadrato.
Suggerimento:
Affinché PQR sia retto, tali vettori devono essere perpendicolari, ossia il loro prodotto scalare deve essere nullo:
Dati di input
Il file input.txt è composto da quattro righe.
La i-esima riga contiene due interi x e y separati da uno spazio che rappresentano le coordinate dell’i-esimo punto (1 <= i <= 4).
Tutte le coordinate sono minori o uguali a 1000 in valore assoluto.
Dati di output
Il file output.txt è composto da una sola riga contenente l’indicazione SI se i quattro punti sono i vertici di un quadrato oppure l’indicazione NO in caso contrario.
Esempi
input.txt | output.txt | |
---|---|---|
1 | 0 0 1 1 0 1 1 0 |
SI |
2 | 0 0 0 0 1 1 0 1 |
NO |
Autore/i: A.S. Stankevich, ACM ICPC Team St. Petersburg State University of Information technology, Mechanics and Optics.