Trova Babbo Natale e le sue renne in una scena affollata.
Ingresso
L'input sarà su STDIN e sarà un numero variabile di righe di caratteri di uguale, ma variabile, lunghezza. Se Babbo Natale (rappresentato dal personaggio S) è nella scena, il suo sacco di regali (rappresentato dal personaggio P) sarà in una delle posizioni adiacenti a lui (orizzontalmente, verticalmente o diagonalmente). Le sue renne (ognuna rappresentata dal personaggio R) saranno tutte all'interno del quadrato 5x5 che lo circonda. Se Snella scena appare un personaggio che non ha un sacco di regali o che non è accompagnato da almeno 4 renne, allora non è Babbo Natale.
Produzione
La scena è stata ripulita da ogni offuscamento (tutti i personaggi non-Babbo Natale, non-regali, non-renne sostituiti con uno spazio), mostrando Babbo Natale, il suo sacco di regali e le sue renne - tutti gli altri personaggi dovrebbero essere sostituiti con spazi. Se Babbo Natale e le sue renne non sono nella scena, riproducili invariati. È garantito che ci sarà una sola soluzione, quindi non ci sarà mai più di un Babbo Natale valido e non porterà mai più di un sacco di regali.
Esempi
In questi esempi sto solo usando il *carattere per rendere più facile per vedere i S, Pe Rpersonaggi, ma il programma dovrebbe essere in grado di gestire qualsiasi carattere ASCII da !a `(33 a 96). Ho lasciato fuori i caratteri minuscoli e sopra per evitare confusione.
Ingresso:
***********
***********
***********
*****R*****
******P****
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
Output: (ignora i punti, sono per forzare la pagina a mostrare le righe vuote)
.
.
.
R
P
S
R
R R
.
.
.
.
Input: (non abbastanza renne)
***********
***********
***********
***********
******P****
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
Produzione:
***********
***********
***********
***********
******P****
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
Input: (nessun sacco di regali)
***********
***********
***********
*****R*****
***********
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
Produzione:
***********
***********
***********
*****R*****
***********
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
Input: (presenta non abbastanza vicino)
***********
***********
***********
*****R*****
***********
*****S*P***
*****R*****
****R**R***
***********
***********
***********
***********
Produzione:
***********
***********
***********
*****R*****
***********
*****S*P***
*****R*****
****R**R***
***********
***********
***********
***********
Input: (una delle renne non all'interno del quadrato 5x5 attorno a Babbo Natale)
***********
***********
***********
*****R*****
******P****
*****S*****
*****R*****
****R******
*******R***
***********
***********
***********
Produzione:
***********
***********
***********
*****R*****
******P****
*****S*****
*****R*****
****R******
*******R***
***********
***********
***********
Script di test
Come in alcune delle mie precedenti domande, ho nuovamente macellato alcuni script di test originariamente creati da Joey e Ventero per fornire alcuni casi di test per questa domanda:
Uso: ./test [your program and its arguments]
Versione in testo normale dei test di riferimento: testo normale
Rewards
Ogni voce che posso verificare che soddisfa le specifiche, supera i test e ha ovviamente avuto qualche tentativo di giocare a golf riceverà un mio voto (quindi per favore fornisci le istruzioni per l'uso con la tua risposta). La soluzione più breve entro la fine del 31/12/2013 sarà accettata come vincitrice.