Il tuo compito - se lo accetti - è quello di scrivere un programma che aiuti a comprendere la mia proposta sul meta calcolando il vincitore di una competizione invertita con code-golf . Naturalmente, le risposte a questa domanda verranno trattate come proposto, quindi il tuo programma (se corretto) può calcolare se la tua risposta diventerà la risposta accettata.
Regole
- Il programma legge un file con più righe del seguente formato (vedi esempio di seguito): [Lingua] TAB [NumberOfCharacters] TAB [LinkToAnswer]
- Il nome del file viene passato come argomento al programma o il file viene reindirizzato all'input standard del programma. È una tua scelta, per favore menziona il metodo quando dai la risposta
- Si prevede che il formato di input sia corretto. Non è necessario gestire gli errori.
- Il numero di caratteri è positivo. Il tuo programma deve gestire lunghezze fino a 65535. 64k dovrebbero essere sufficienti per tutti :-)
- Il programma produce quelle righe sull'output standard che soddisfano l'idea della meta proposta, cioè
- vince il codice più breve di un particolare linguaggio di programmazione (fase di riduzione)
- vince il codice più lungo tra tutti i linguaggi di programmazione (fase di smistamento)
- in caso di pareggio, devono essere stampate tutte le risposte della stessa lunghezza
- L'ordine dell'output non è importante
- Anche se vince il codice più lungo, non si tratta di bowling . Il tuo codice deve essere il più breve possibile per il tuo linguaggio di programmazione.
- Le risposte su linguaggi di programmazione di rado che non tentano di abbreviare il codice meritano un downvote, perché cercano di aggirare l'intenzione di questo tipo di domanda. Se esiste una sola risposta per un linguaggio di programmazione specifico, sarebbe considerato un candidato vincitore, quindi potresti iniziare a scrivere il suo codice.
Esempio di file di input (separato da singole schede in caso di problemi con la formattazione):
GolfScript 34 http://short.url/answer/ags
GolfScript 42 http://short.url/answer/gsq
C# 210 http://short.url/answer/cs2
Java 208 http://short.url/answer/jav
C# 208 http://short.url/answer/poi
J 23 http://short.url/answer/jsh
Ruby 67 http://short.url/answer/rub
C# 208 http://short.url/answer/yac
GolfScript 210 http://short.url/answer/210
Uscita prevista (l'ordine non è importante):
C# 208 http://short.url/answer/poi
C# 208 http://short.url/answer/yac
Java 208 http://short.url/answer/jav
Aggiornare
Alcuni programmi si basano sul fatto che esiste un singolo massimo (come il programma di caratteri C # 210). Derivato dalla realtà, qualcuno può anche scrivere un programma GolfScript con 210 caratteri. L'output rimarrebbe lo stesso. Ho aggiunto un tale GolfScript all'input.
Aggiornamento 2
Come suggerito, ho ricodificato (anche ancora code-golf) e la scadenza è il 06-03-2014 (che sembra una data arbitraria, ma tornerò in Germania da allora).
Risultati finali
Ho deciso di votare come segue:
- Le risposte in cui il numero di caratteri non può essere confermato ricevono un commento per spiegare il conteggio.
- Le risposte che possono essere facilmente ridotte ottengono un commento, un suggerimento di modifica e vanno nel risultato con il valore di conteggio inferiore. (Spero di averlo visto in anticipo).
- Le risposte che non vengono compilate ottengono un downvote. (Piuttosto un compito difficile a quanto pare).
- Le risposte che non vengono giocate ricevono un downvote (come già descritto nelle regole).
- Le risposte che producono l'output previsto ottengono un voto. A causa di alcune risposte che non funzionano come previsto, utilizzo 4 diversi file di input e controllo il risultato atteso.
Infine, il vincitore viene determinato fornendo la tabella delle risposte qualificanti come input per il mio programma di riferimento (oltre a ricontrollare manualmente il risultato). Se la mia risposta fosse quella vincente, la escluderei dalla lista. In caso di più vincitori, dovrei sceglierne solo uno. Pertanto, alcuni bonus possono essere guadagnati:
- risposte che accettano più input del previsto (ad es. al di fuori degli intervalli definiti)
- risposte che usano un'idea intelligente di farla breve
Ho scattato un'istantanea delle risposte il 6 marzo 2014, 19:45 UTC + 1. L'analisi è in corso. Controllare tutte le risposte è più difficile del previsto ...