개요
육각형이 여러 개인 경우, 50 x 50 ASCII 아트 이미지 범위 내에서 연결된 모양으로 배열하십시오. 당신이 선택한 모양은 연결되어있는 한 골프에 가장 적합한 것으로 임의의 것이 될 수 있습니다. 하나의 육각형보다 크면 구멍이있을 수 있습니다 (그렇지 않으면 육각형 수가 모호합니다).
나열한 것
모든 육각형은 다음과 같은 형식이어야합니다 (이 크기와 방향 만 유효).
__
/ \
\__/ Note there are 2 underscores per horizontal edge.
두 개의 육각형이 모서리를 공유하면 직접 연결 됩니다.
__ __
/ \__ / \
\__/ \ \__/
\__/ or / \
\__/
정점 만 공유하는 두 개의 육각형은 연결되지 않습니다.
__ __
/ \/ \
\__/\__/
에지 반을 공유해도 연결된 것으로 간주되지 않습니다.
__
/ \
\__/
/ \
\__/
직접 연결된 육각형 만 사용하여 육각형에서 다른 육각형으로의 경로가있는 경우 육각형 모음이 연결 됩니다 .
구멍
연결된 육각형 모음에있는 육각 크기의 구멍은 육각형으로 간주되므로 지정된 ASCII 아트가 육각형 수에 제한이 없습니다.
예상 구멍이 단일 육각형이므로 구멍으로 간주 되지 않습니다 .
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ 7 hexagons (not 6 with a hole)
이 수행 은 하나의 육각형에 해당하지 않기 때문에 구멍으로 수를 :
__
__/ \__
/ \__/ \__
\__/ \__/ \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/ 8 hexagons with a hole
입력과 출력
입력
1에서 255 사이의 정수입니다.
산출
위에서 설명한대로 연결된 육각형의 입력 수를 나타내는 ASCII 아트 문자열입니다.
- 행 수 (개행으로 구분 된 하위 문자열)는 최대 50 개이며 추가 선택적인 후행 개행입니다.
- 행의 길이는 같을 필요는 없지만 각 길이는 최대 50 자 여야합니다.
- 총 행 수가 50을 초과하지 않으면 길이가 0 인 행은 연결된 셰이프 위 또는 아래에 존재할 수 있습니다.
- 총 행 수가 50을 초과하지 않으면 공간 전용 행이 연결된 모양의 위 또는 아래에 존재할 수 있습니다.
- 행 길이가 50을 초과하지 않으면 모양의 왼쪽에 공백이 나타날 수 있습니다 (모양은 왼쪽에 정렬 할 필요가 없습니다).
- 행 길이가 50을 초과하지 않으면 모양의 오른쪽에 공백이 나타날 수 있습니다.
- 연결된 모양의 일부를 구성하지 않는 문자는 공백이나 개행 문자 여야합니다.
출력이 올 바르면 한 실행에서 다음 실행까지 일관 될 필요는 없습니다.
예
입력: 6
유효한 출력 :
__ __ __
/ \__/ \__/ \__
\__/ \__/ \__/ \
\__/ \__/ \__/
__ __
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/
__
__ / \
/ \__ \__/
\__/ \__/ \
\__/ \__/
\__/
/ \
\__/
유효하지 않은 출력 :
__
__/ \__
/ \__/ \
\__/ \__/
/ \__/ \
\__/ \__/
\__/ Invalid for 6 as the centre hole counts as a 7th hexagon.
__ __ __ __
/ \__/ \__/ \ / \
\__/ \__/ \__/ \__/
\__/ \__/ Invalid as the 6 hexagons are not connected.
__ __ __ __
/ \__/ \__/ \/ \
\__/ \__/ \__/\__/
\__/ \__/ Invalid as vertex touching does not count as connected.
__ __ __
/ \__/ \ / \
\__/ \__/ \__/
/ \__/ \
\__/ \__/
\__/ Invalid as the 6 connected hexagons are not the only visible characters.
승리
바이트 단위의 가장 짧은 유효한 답변이 이깁니다.
리더 보드
( Martin의 리더 보드 스 니펫 사용 )
var QUESTION_ID=54277;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var o=0;o<s.length;++o){var l=jQuery("#language-template").html(),t=s[o];l=l.replace("{{LANGUAGE}}",t.lang).replace("{{NAME}}",t.user).replace("{{SIZE}}",t.size).replace("{{LINK}}",t.link),l=jQuery(l),jQuery("#languages").append(l)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*\s*([^,]+)/;
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>