Das Szenario
Ich fahre mit meinem Auto eine Straße entlang und es beginnt zu regnen. Die Regentropfen fallen zufällig auf mein Fenster und jetzt frage ich mich, wo ist das größte zusammenhängende Nassgebiet?
Die Aufgabe
Zur Vereinfachung ist das Fenster in eine Matrix von 10 * 10 Quadraten aufgeteilt. Ihre Aufgabe ist es, den größten zusammenhängenden Wassertropfenbereich am Fenster zu finden.
Eingang
Es gibt zwei mögliche Eingaben, Sie können ein zweidimensionales Array oder ein eindimensionales Array verwenden. Sie können zwischen beliebigen Eingaben wie stdin usw. wählen.
Beispiel:
// 2-dimensional:
[[0,1,0,0,0,0,1,0,0,0],
[0,1,1,0,0,0,0,1,1,0],
[0,1,1,0,0,0,0,1,0,0],
[0,1,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,1,1,0,0,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,1,1,0,1,0],
[0,0,0,0,0,0,0,0,0,0]]
// 1-dimensional
[0,1,0,0,0,0,1,0,0,0,
0,1,1,0,0,0,0,1,1,0,
0,1,1,0,0,0,0,1,0,0,
0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,1,1,0,0,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,1,1,0,1,0,
0,0,0,0,0,0,0,0,0,0]
Ausgabe
Ihr Code muss die Größe des größten verbundenen Bereichs und die x- und y-Koordinaten der Wassertropfen, die zu diesem Bereich gehören, im Format
"Größe: Z-Koordinaten: (X1, Y1) (X2, Y2)" ausgeben. "
Beispiel für die vorherige Eingabe:
Size: 6 Coordinates: (1,0) (1,1) (2,1) (1,2) (2,2) (1,3)
Die Reihenfolge der Koordinaten spielt keine Rolle.
Regeln
- Wassertropfen sind verbunden, wenn sie sich orthogonal berühren
- Diagonale Verbindungen zählen nicht
- Es kann viele Bereiche geben und Ihr Code muss den größten finden
- Ein leeres Feld wird als "0" und ein nasses Feld als "1" dargestellt.
- Veröffentlichen Sie Ihre Lösung mit einer kurzen Erläuterung und der Ausgabe der vorherigen Eingabe
- Der kürzeste Code innerhalb der nächsten 7 Tage gewinnt
- Wenn es zwei Bereiche mit derselben Größe gibt, können Sie einen auswählen
