Ecco cinque immagini di pere e uno scivolo d' acciaio :
Queste sono solo miniature, fai clic per ingrandirle!
Questa classe di immagini ha sempre le seguenti proprietà:
- Sono sempre 400 × 400 pixel con uno sfondo bianco. (Potrebbe non essere esattamente bianco poiché le immagini SE sono compressi in modo perdita.)
- Hanno da 1 a 4 pere identiche, ciascuna ruotata e posizionata in (quasi) in qualsiasi modo.
- Hanno uno scivolo d'acciaio verticale che arriva fino alla parte inferiore dell'immagine.
- A parte la parte inferiore dello scivolo, lo scivolo e le scatole di delimitazione a pera ( esempio del riquadro di delimitazione ) non toccano né escono mai dai limiti dell'immagine.
- Le scatole di delimitazione delle pere non si sovrappongono mai né si sovrappongono allo scivolo.
- Le pere possono essere sotto la parte inclinata del scivolo, come in B , C , e D . (Quindi la scatola di delimitazione dello scivolo può sovrapporsi alla scatola di delimitazione di una pera.)
- Lo scivolo può avere qualsiasi posizione orizzontale e verticale purché vi sia spazio sufficiente per consentire a tutte le scatole di delimitazione delle pere di adattarsi liberamente al di sopra di essa (non verranno testate custodie "a malapena") e una parte della porzione di colonna è visibile.
Sfida
Scrivi un programma che includa tale immagine e produca un'altra immagine 400 × 400 con lo scivolo nello stesso posto, ma con le pere riposizionate in modo che siano tutte al di sopra dello scivolo (in modo che possano cadere in esso e essere spremute e quant'altro).
I requisiti per l'immagine di output sono:
- Tutte le pere nell'immagine in ingresso devono essere riposizionate in modo tale da trovarsi al di sopra dello scivolo, tra il bordo sinistro e destro del suo imbuto. (Sopra un bordo non è ok.)
- Ogni pera deve mantenere il proprio angolo di rotazione. (Quindi dovresti tagliare e incollare le pere, non ridisegnarle.)
- Le pere non devono sovrapporsi o toccarsi o scivolare. (Tuttavia, le scatole perimetrali a pera possono sovrapporsi.)
- Le pere non devono toccare o uscire dai limiti dell'immagine.
Ecco alcuni esempi di output validi per le cinque immagini di esempio:
Queste sono solo miniature, fai clic per ingrandirle!
Si noti che l'immagine di input per E era già un output valido, ma riorganizzare le pere quando non tecnicamente necessario va bene.
Dettagli
- Prendi il nome file dell'immagine o i dati dell'immagine grezza tramite stdin / riga di comando / chiamata di funzione.
- Invia l'immagine a un file con il nome che preferisci o invia i dati del file di immagine grezza a stdout o visualizza semplicemente l'immagine.
- È possibile utilizzare qualsiasi formato di file immagine lossless comune.
- È possibile utilizzare librerie di immagini e grafica.
- Alcuni pixel errati qua e là (a causa di perdita o qualcosa del genere) non sono un grosso problema. Se non riesco a dire che qualcosa non va visivamente, probabilmente va bene.
Vince il codice più breve in byte. Tiebreaker è il post più votato.