Zadanie:
W grze w statki
gracze ustawiają na kwadratowej planszy prostokątne statki według pewnych
reguł. Napisz program, który sprawdzi czy statki nie nachodzą na siebie.
Wejście:
Liczba całkowita n będąca ilością kolumn i wierszy planszy.
Liczba całkowita k będąca ilością statków.
k statków w postaci x1 y1 x2 y2, gdzie punkt (x1, y1) reprezentuje jeden koniec
statku, a (x2, y2) drugi.
Statki
zawsze mają szerokość 1. Długość może być dowolna, ale na pewno zmieści się na
planszy. Dla statku zajmującego jedno pole x1==x2 i y1==y2.
Współrzędne
przyjmują całkowite wartości z zakresu[0; n-1]
Wyjście:
Liczba reprezentująca ilość pustych pól (niezajętych przez statki).
W przypadku jakiejkolwiek kolizji -1.
Wymagania:
Plansza ma zostać
zaimplementowana jako klasa.
Klasa ma
mieć metody:
· zliczającą puste pola
· dodającą statek i zwracającą
informację czy udało się tego dokonać czy nastąpiła kolizja.
W funkcji main
utwórz obiekt klasy Plansza, dodaj wszystkie statki i zwróć wynik.
Przykład:
in:
5
4
1 0 3 0
0 4 0 4
2 1 2 3
3 2 4 2
out:
16
in:
4
2
1 0 1 3
0 2 2 2
out:
-1