Die Eingabe besteht aus i Zeilen mit Nachbarinformationen. Jede i- te Zeile enthält 4 Werte, die den Nachbarn von i in Nord- , Ost- , Süd- und Westrichtung darstellen. Jeder Wert repräsentiert also einen Nachbarn in der angegebenen Richtung der i- ten Zeile, beginnend mit Zeile 1, und kann bis zu 65.535 Zeilen umfassen. Der Wert 0 gibt keinen Nachbarn zu dieser Richtung an.
Wenn zum Beispiel die erste Zeile "0 2 3 10" ist, bedeutet dies, dass der i- Nachbar drei andere Nachbarn hat: niemanden im Norden, Nachbar 2 im Osten, Nachbar 3 im Süden und Nachbar 10 im Westen.
Sie müssen das Array der Nachbarn ausgeben, beginnend mit dem Wert, der am weitesten im Nordwesten liegt. Jeder Nachbar wird nur einmal an seiner Position relativ zu anderen angezeigt. Sehen wir uns einige Beispiele an:
Eingang:
0 0 0 0
Keine Nachbarn (leerer Fall), Ausgabe:
1
Eingang:
0 2 0 0
0 0 0 1
1 hat Nachbar 2 im Osten. 2 hat Nachbar 1 im Westen
Ausgabe:
1 2
Eingang:
0 2 0 0
0 0 3 1
2 0 0 0
1 hat Nachbar 2 im Osten. 2 hat Nachbar 1 im Westen und 3 im Süden. 3 hat Nachbar 2 im Norden
Ausgabe:
1 2
3
Eingang:
2 0 0 0
0 0 1 0
Ausgabe:
2
1
Eingang:
0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3
Ausgabe:
1 2
3 4
Regeln:
Testfälle werden durch eine leere Zeile getrennt . Die Ausgabe verschiedener Testfälle muss ebenfalls durch eine leere Zeile getrennt werden.- Der Ausgangsgraph ist immer verbunden. Sie werden nicht nur 1 Nachbarn zu 2 haben, sondern nur 3 Nachbarn zu 4 (isoliert von 1-2 Komponenten).
- Alle Einträge sind gültig. Beispiel für ungültige Einträge:
- Einträge, die Buchstaben oder andere Symbole als Leerzeichen, Zeilenumbrüche und Ziffern enthalten (0-9).
- Die i- te Zeile enthält den i- ten Wert (weil man nicht sein eigener Nachbar sein kann).
- ein negativer Wert oder Wert höher als 65.535.
- Weniger als vier Werte hintereinander.
- Mehr als vier Werte hintereinander.
- Derselbe Nachbar zeigt in zwei verschiedene Richtungen (Beispiel: 0 1 1 0).
Es gelten Standardlücken, und die kürzeste Antwort in Byte gewinnt.
quelle
1,2,...
. Ich dachte, sie hätten einen Nachbarn 2 "Einheiten" im Osten und 1 "Einheit" im Süden und so weiter. Konnte keinen Sinn daraus machen.Antworten:
Python 2 , 152 Bytes
Probieren Sie es online aus!
Die Eingabereihenfolge
NESW
f
ist eine rekursive Funktion zum Auffüllen der Häuserquelle
JavaScript (Node.js) , 135 Byte
Probieren Sie es online aus!
_______________________________________________________________
Zweiter Ansatz
JavaScript (Node.js) , 130 Byte
Probieren Sie es online aus!
quelle