Tất cả chúng ta đã nhìn thấy các dấu hiệu trên các nhà nghỉ cho chúng ta biết có chỗ trống hay không:
Thông thường, những thư này sẽ vĩnh viễn có chữ VACANCY sáng lên và chữ cái KHÔNG sáng lên nếu không có phòng trong nhà nghỉ.
Các thách thức
Nhà trọ trung bình ở Mỹ có 200 phòng.
Bạn sẽ viết một chương trình / hàm lấy một số nguyên T (cho các phòng đã lấy) làm đầu vào duy nhất của nó.
Chương trình của bạn sau đó sẽ hiển thị các từ NO VACANCY
. Các chữ cái VACANCY
sẽ được in màu đỏ.
Nếu T 200, các chữ cái NO
cũng sẽ được in màu đỏ.
Ví dụ: giả sử a.out
là chương trình của bạn và "input" = đối số dòng lệnh: (Tôi đánh máy và hệ thống của tôi bỏ qua trường hợp.)
Những quy định
- Chương trình / chức năng của bạn phải hiển thị (hoặc, nếu lambda, trả về ) chuỗi chính xác
NO VACANCY
, bao gồm cả trường hợp. - Chương trình / chức năng của bạn chỉ có thể đặt màu nền trước của văn bản thành màu đỏ chứ không phải nền.
- Nếu bạn muốn, bạn có thể sử dụng mã thoát ANSI để in màu đỏ -
\x1b[31m
sẽ hoạt động. - Chương trình / chức năng của bạn có thể không thay đổi màu văn bản của trình bao sau khi kết thúc.
- Chương trình / chức năng của bạn phải chấm dứt bình thường.
- Chương trình / chức năng của bạn phải chỉ in ra đầu ra tiêu chuẩn.
- Chương trình / chức năng của bạn phải sử dụng màu nền mặc định của shell / terminal / IDE. (Nếu bạn chọn có đầu ra đồ họa, bạn có thể chọn bất kỳ màu nào bạn thích, ngoại trừ màu đỏ.)
- Nếu T ≤ 200, các chữ cái
NO
phải được in bằng màu nền trước mặc định của shell / terminal / IDE. (Nếu bạn chọn có đầu ra đồ họa, một lần nữa bạn có thể chọn bất kỳ màu nào bạn thích) - Nếu vì một lý do nào đó, màu nền / nền mặc định của shell / terminal / IDE của bạn là màu đỏ, bạn phải in với nền đen và nền trước trắng mặc định.
- Nếu bạn chọn sử dụng đầu ra đồ họa, màu đỏ chỉ có thể được sử dụng khi được chỉ định trong chương trình (ví dụ: màu nền hoặc màu văn bản mặc định của bạn có thể không có màu đỏ).
Người chiến thắng
Như thường lệ với code-golf , chương trình ngắn nhất sẽ thắng! Điểm Brownie cho đầu ra đồ họa.
Tôi sẽ chấp nhận câu trả lời ngắn nhất trong một tuần. Chúc bạn chơi golf vui vẻ!
Bảng xếp hạng
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>