Hinweis: Dies ist ein schwieriges Problem für jeden, die Logik Probleme mag, usw.
Jeder Raum ein rechteckiges zweidimensionales Gitter mit einer Höhe H und einer Breite W. Betrachten auf dem Gitter hat einen Wert, entweder 0 1oder 2. Anfangs ist jeder Raum auf dem Gitter ein 0, mit Ausnahme der Bereiche sind entlang jeder der vier Kanten, die zunächst einen sind 2.
Dann betrachtet einen beliebigen Pfad benachbarter (horizontal oder vertikal) Gitterplätze. Der Weg beginnt an ein 2und endet auf einem anderen 2. Jeder Raum entlang des Weges ist ein 1.
Der Weg teilt das Gitter in zwei „Sektoren“ von 0Räumen. Es ist ein Objekt , das auf einem nicht näher ruht 0Raum. Der „Sektor“ , die das Objekt nicht enthalten muss vollständig mit gefüllt werden 2.
Definieren einen Algorithmus, der die Zwischenräume , die bestimmt werden müssen 2aus 0, da ein Array (Liste) von Werten ( 0, 1oder 2), die den Werten in dem Raster entsprechen, und zwar von oben nach unten und dann von links nach rechts. Mit anderen Worten enthält das Element mit dem Index 0 in dem Feld den Wert des oberen linken Raumes in dem Gitter (zunächst a 2). Das Element mit dem Index 1 enthält den Wert des Raumes , in dem Raster , die in der linken Spalte ist, die zweite von oben, und so weiter. Das Element mit dem Index H enthält den Wert des Raumes , in dem Raster , die in der oberen Reihe ist , aber zweite von links, und so weiter.
Sobald der Algorithmus beendet und der leere „Sektor“ vollständig mit gefüllt sind 2s, muss der gleiche Algorithmus ausreichend sein , wieder den gleichen Prozess zu tun. Die zweite (und auf) Zeit wird der Weg noch von einem gezogenen 2zu einem anderen 2, über Räume 0, aber die „Grid“ ist kleiner , weil die 2s , die von anderen umgeben ist 2s kann nicht vom Pfad berührt werden (da der Weg ist entlang Räume 0).
Ich danke wem der Lage ist, dies für mich, um herauszufinden, sehr, sehr viel. Dies muss nicht in einer bestimmten Programmiersprache sein; in der Tat ist Pseudo-Code oder nur Englisch ausreichend. Danke noch einmal! Wenn Sie Fragen haben, lassen Sie einfach einen Kommentar und ich werde geben, was angegeben werden muss.













