Plansza [2024] [PR]
W pliku plansza.txt zapisano położenie statków na planszy o wymiarach 100×100, tzn. plik zawiera 100 wierszy, w każdym wierszu znajduje się 100 cyfr (0 lub 1) rozdzielonych spacjami. Zera to pola bez statków, jedynki to pola, na których są statki. Wśród statków wyróżnia się jednomasztowce (jedynka otoczona ze wszystkich stron zerami lub krawędziami planszy) i dwumasztowce (dwie jedynki obok siebie w poziomie lub w pionie otoczone zerami lub krawędziami planszy).
Statki nie mogą się stykać ze sobą wierzchołkami ani bokami.
Przykłady:
0 0 0 0
0 1 0 0
0 0 0 0
0 0 1 0
jednomasztowce
0 0 0 0 0 0
0 1 0 1 1 0
0 1 0 0 0 0
dwumasztowce
Napisz program(y), który(-e) da(dzą) odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki4.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Do dyspozycji masz plik plansza_przyklad.txt, w którym zapisano położenie statków na planszy o wymiarach 10×10. Odpowiedzi dla tego pliku podane są w treściach zadań.
Zadanie 4.1. (0–3)
Podaj liczbę pól, na których można jeszcze umieścić jednomasztowce tzn. takich, które zawierają 0 i nie stykają się krawędziami lub wierzchołkami z polami, na których są już statki.
Odpowiedź dla danych z pliku plansza_przyklad.txt: 11.
Zadanie 4.2. (0–3)
Podaj liczbę par jednomasztowców, położonych symetrycznie względem przekątnej biegnącej od lewego górnego rogu do prawego dolnego rogu planszy.
Uwaga: nie zliczaj statków leżących na przekątnej.
Odpowiedź dla danych z pliku plansza_przyklad.txt to 2.
Zadanie 4.3. (0–3)
Podaj liczbę dwumasztowców na planszy.
Odpowiedź dla danych z pliku plansza_przyklad.txt: 7.
Zadanie 4.4. (0–3)
Podaj liczbę jednomasztowców oraz liczbę dwumasztowców, których chociaż jedno pole leży na jednej z dwóch głównych (najdłuższych) przekątnych planszy.
Odpowiedź dla danych z pliku plansza_przyklad.txt:
1 jednomasztowiec, 3 dwumasztowce (w tym 1 na jednej przekątnej i 1 na drugiej i 1 na obu).