Ecco una zucca ASCII scolpita in una Jack-o-Lantern. Non è carino?
((^v^))
Ecco un fantasma ASCII. Guarda com'è spaventoso!
\{O.O}/
Ovviamente, le zucche devono essere a terra, con uno spazio tra loro in modo che non marciscano.
I fantasmi, tuttavia, amano stare in cima alle zucche, quindi sono ancora più spaventosi . Tuttavia, devono stare su due zucche, altrimenti il loro peso spettrale schiaccerà la zucca sotto di loro. Ma, a causa di come funziona la loro magia spettrale , più fantasmi possono impilare e condividere zucche, a condizione che i fantasmi siano divisi equamente sulle zucche inferiori o sui fantasmi inferiori. In altre parole, formando una forma simile a una piramide umana . Nota che i fantasmi non possono accumularsi sui fantasmi a meno che non ci sia una zucca sotto (è così che funziona la magia).
Dati due numeri interi non negativi ge p, che rappresentano il numero di ghost e pumpkin, producono la formazione più a sinistra più compatta possibile, seguendo le regole di sovrapposizione della piramide sopra. Le zucche e i fantasmi rimanenti (cioè quelli che non formano la piramide) vanno a terra a destra.
Per chiarimenti, queste formazioni sono OK (newline vuoto separato) e servono come I / O di esempio:
0p 1g
\{O.O}/
1p 0g
((^v^))
1p 1g
((^v^)) \{O.O}/
2p 1g
\{O.O}/
((^v^)) ((^v^))
2p 2g
\{O.O}/
((^v^)) ((^v^)) \{O.O}/
3p 1g
\{O.O}/
((^v^)) ((^v^)) ((^v^))
3p 2g
\{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^))
3p 3g
\{O.O}/
\{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^))
0p 4g
\{O.O}/ \{O.O}/ \{O.O}/ \{O.O}/
3p 0g
((^v^)) ((^v^)) ((^v^))
7p 6g
\{O.O}/
\{O.O}/ \{O.O}/
\{O.O}/ \{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^))
Queste formazioni non sono OK
\{O.O}/
((^v^))
\{O.O}/
((^v^))
((^v^)) ((^v^)) \{O.O}/
\{O.O}/
\{O.O}/
((^v^)) ((^v^))
\{O.O}/
\{O.O}/ ((^v^)) ((^v^))
((^v^))
((^v^)) ((^v^))
\{O.O}/
((^v^)) ((^v^))
Ingresso
Due numeri interi non negativi in qualsiasi formato conveniente . Almeno uno dei numeri sarà diverso da zero. Puoi prendere gli input in entrambi gli ordini (ad esempio, negli esempi in cui avevo prima le zucche) - specifica come prendi input nella tua risposta.
Produzione
Una rappresentazione in arte ASCII di fantasmi e zucche, seguendo le regole di cui sopra. Le nuove linee guida / finali o altri spazi bianchi sono opzionali, a condizione che i fantasmi e le zucche si allineino adeguatamente.
Regole
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Sono vietate le scappatoie standard .
- Si tratta di code-golf, quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).