Ispirato da questo .
sfondo
Il malvagio agricoltore ha deciso di bruciare il tuo campo di grano per aumentare i prezzi. Per garantire la totale distruzione, ha anche inzuppato il campo di benzina. Ancora più sfortunatamente, ti è capitato di camminare sul campo quando è stato acceso il fuoco, e devi uscire rapidamente per sopravvivere.
Sfida
Dato un campo contenente grano, fuoco e la tua posizione, determina se riesci a uscire dal campo in tempo.
Un campo è costituito da grano (qui rappresentato da .
) e fuoco ( F
). Qui la tua posizione è contrassegnata con a O
. Per esempio:
...F...F
F.......
........
.F......
....O...
...F....
........
.F....F.
Ogni secondo ti sposti in qualsiasi cella adiacente (ma non in diagonale) e ogni fuoco si diffonde in ogni cella adiacente. Se non riesci a trasferirti in una cella che non sarà in fiamme, muori. Se riesci a uscire dal campo, sopravvivi. Vediamo cosa succede in questo esempio:
...F...F
F.......
........
.F......
....O...
...F....
........
.F....F.
..FFF.FF
FF.F...F
FF......
FFF.....
.F.F.O..
..FFF...
.F.F..F.
FFF..FFF
FFFFFFFF
FFFFF.FF
FFFF...F
FFFF....
FF.FF.O.
.FFFFFF.
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFF.FF
FFFFF.FF
FFFFFFFO
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFFO <-- you made it out and survived, barely
FFFFFFFF
FFFFFFFF
FFFFFFFF
Regole
- Il tuo input è il campo come griglia. Puoi scegliere qualsiasi formato di input, inclusa una stringa con separatori di riga o un array 2D.
- Si può non prendere come input le posizioni per incendio e / o da soli.
- È possibile utilizzare 3 valori distinti come grano, fuoco e posizione, comprese le non stringhe per l'input dell'array.
- I campi hanno sempre una dimensione di almeno 1 x 1, rettangolari e non contengono caratteri non validi.
- Qualsiasi campo conterrà esattamente uno dei valori che rappresentano la tua posizione e ogni altra posizione potrebbe essere o meno un incendio.
- Il tuo output è uno dei due valori distinti per "sopravvivi" o "muori", come al solito nel problema decisionale .
- Si applicano le regole standard del code-golf .
Casi test
Sopravvissuto
O
....
.O..
....
FFFFF
.....
..O..
.....
FFFF
FFFO
FFFF
.F....
......
......
.F....
..O...
.FF...
.F....
..FF..
...F...F
F.......
........
.F......
....O...
...F....
........
.F....F.
Non è sopravvissuto
FFF
FOF
FFF
F.F
.O.
F.F
....F
.....
..O..
.....
F....
.F....F.
........
........
F..O....
........
.....F..
...F...F
F......F
........
.F......
....O...
...F....
........
.F....F.
F..F
.O..
FF..