Wir haben alle die Schilder an den Motels gesehen, die uns sagen, ob es eine freie Stelle gibt oder nicht:
In der Regel leuchten die Buchstaben von VACANCY permanent und die Buchstaben von NO , wenn im Motel kein Platz vorhanden ist.
Die Herausforderung
Das durchschnittliche Motel in den USA hat 200 Zimmer.
Sie schreiben ein Programm / eine Funktion, deren einzige Eingabe eine ganze Zahl T (für belegte Räume) ist.
Ihr Programm zeigt dann die Wörter an NO VACANCY
. Die Buchstaben von VACANCY
werden rot gedruckt.
Wenn T ≥ 200 ist, werden die Buchstaben von NO
ebenfalls rot gedruckt.
Angenommen, a.out
Ihr Programm und "Eingabe" = Befehlszeilenargument: (Ich habe getippt und mein System ignoriert Groß- und Kleinschreibung.)
Die Regeln
- Ihr Programm / Ihre Funktion muss die genaue Zeichenfolge einschließlich Groß- / Kleinschreibung anzeigen (oder bei Lambda zurückgeben )
NO VACANCY
. - Ihr Programm / Ihre Funktion setzt möglicherweise nur die Vordergrundfarbe des Texts auf Rot und nicht den Hintergrund.
- Wenn Sie möchten, können Sie ANSI-Escape-Codes verwenden, um die rote Farbe zu drucken -
\x1b[31m
funktioniert. - Ihr Programm / Ihre Funktion ändert möglicherweise nicht die Textfarbe Ihrer Shell, nachdem es abgeschlossen ist.
- Ihr Programm / Ihre Funktion muss normal enden.
- Ihr Programm / Ihre Funktion darf nur auf Standardausgabe drucken.
- Ihr Programm / Ihre Funktion muss die Standardhintergrundfarbe Ihrer Shell / Ihres Terminals / Ihrer IDE verwenden. (Wenn Sie eine grafische Ausgabe wünschen, können Sie eine beliebige Farbe außer Rot auswählen.)
- Wenn T ≤ 200, müssen die Buchstaben von
NO
in der Standardvordergrundfarbe Ihrer Shell / Ihres Terminals / Ihrer IDE gedruckt werden. (Wenn Sie eine grafische Ausgabe wünschen, können Sie erneut eine beliebige Farbe auswählen.) - Wenn aus irgendeinem Grund die Standardfarbe für den Vordergrund / Hintergrund Ihrer Shell / Ihres Terminals / Ihrer IDE rot ist, müssen Sie mit einem schwarzen Hintergrund und einem Standardvordergrund in Weiß drucken.
- Wenn Sie sich für die grafische Ausgabe entscheiden, darf Rot nur verwendet werden, wenn dies im Programm angegeben ist (z. B. darf Ihre Hintergrundfarbe oder Standardtextfarbe nicht Rot sein).
Der Gewinner
Wie beim Code-Golf üblich , gewinnt das kürzeste Programm! Brownie-Punkte für die grafische Ausgabe.
Ich akzeptiere die kürzeste Antwort in einer Woche. Viel Spaß beim Golfen!
Bestenliste
var QUESTION_ID=123146,OVERRIDE_USER=61563;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>