L'input è costituito da i file con le informazioni sui vicini. Ogni i esima riga contiene 4 valori, che rappresenta il vicino di casa che agli Nord , Est , Sud e Ovest direzioni, rispettivamente. Così ogni valore rappresenta un vicino alla direzione data della i esima riga, a partire dalla riga 1, e può arrivare fino a 65.535 righe. Il valore 0 indica nessun vicino di quella direzione.
Ad esempio, se la prima riga è "0 2 3 10" significa che il vicino i ha altri tre vicini: nessuno a nord, il vicino 2 a est, il vicino 3 a sud e il vicino 10 a ovest.
È necessario generare la matrice dei vicini, a partire dal valore più a nord-ovest. Ogni vicino verrà visualizzato una sola volta, nella sua posizione rispetto agli altri. Vediamo alcuni esempi:
Ingresso:
0 0 0 0
Nessun vicino (caso vuoto), output:
1
Ingresso:
0 2 0 0
0 0 0 1
1 ha il vicino 2 ad est. 2 ha il vicino 1 ad ovest
Produzione:
1 2
Ingresso:
0 2 0 0
0 0 3 1
2 0 0 0
1 ha il vicino 2 ad est. 2 ha il vicino 1 a ovest e 3 a sud. 3 ha il vicino 2 a nord
Produzione:
1 2
3
Ingresso:
2 0 0 0
0 0 1 0
Produzione:
2
1
Ingresso:
0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3
Produzione:
1 2
3 4
Regole:
I casi di test sono separati da una riga vuota . Anche l'output di diversi casi di test deve essere separato da una riga vuota.- Il grafico di output è sempre collegato. Non avrai 1 solo vicino a 2, insieme a 3 vicino solo a 4 (isolato dal componente 1-2).
- Tutte le voci sono valideEsempio di voci non valide:
- Voci contenenti lettere o simboli diversi da spazi, interruzioni di riga e cifre (0-9).
- la i esima riga contenente la i esima valore (perché non si può essere proprio prossimo).
- un valore negativo o un valore superiore a 65.535.
- Meno di quattro valori di fila.
- Più di quattro valori di fila.
- Lo stesso vicino che punta verso due direzioni diverse (es: 0 1 1 0).
Si applicano scappatoie standard e vince la risposta più breve in byte.
1,2,...
. Pensavo che avessero un vicino 2 "unità" ad est e 1 "unità" a sud e così via. Non ha avuto senso.