ব্যবহারকারী স্কোরড কোড গল্ফ - অঙ্কন হীরা [পরীক্ষামূলক]


11

এই চ্যালেঞ্জটি কমবেশি traditionalতিহ্যবাহী মতো আচরণ করবে । পার্থক্যটি হ'ল তাদের অক্ষর বা বাইটের সংখ্যা দ্বারা উত্তর স্কোর করার পরিবর্তে, ব্যবহারকারীরা মন্তব্যগুলিতে বিভিন্ন চরিত্রের ওজন নির্ধারণ করবেন এবং সর্বনিম্ন संचयी ওজন সহ প্রোগ্রামটি জিতবে।

চ্যালেঞ্জ

আপনার কাজ হ'ল একটি প্রোগ্রাম লিখুন যা একটি স্ট্রিং নেয় এবং একটি ডায়মন্ডের আকার মুদ্রণ করে যেখানে প্রথম অক্ষরটি কেন্দ্রের শুরু হয় এবং পরবর্তী অক্ষরগুলি ফাঁকা স্থানগুলি অর্থোগোনালগুলিতে স্থান করে দেয় যেখানে অক্ষরগুলি সেট করা থাকে। প্যাডিংয়ের জন্য স্পেস ( ) ব্যবহার করা হবে।

উদাহরণস্বরূপ ইনপুট CATউত্পাদন করা হবে

  T  
 TAT 
TACAT
 TAT 
  T  

এবং ()উত্পাদন করতে হবে

 ) 
)()
 ) 

এবং  dessertsউত্পাদন করতে হবে

        s        
       sts       
      strts      
     strerts     
    streserts    
   stressserts   
  stressesserts  
 stressedesserts 
stressed desserts
 stressedesserts 
  stressesserts  
   stressserts   
    streserts    
     strerts     
      strts      
       sts       
        s        

এবং 9উত্পাদন করতে হবে 9

বিস্তারিত

  • কোডটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই এবং নিউলাইনগুলি থাকতে পারে । (নীচে কেন দেখুন।)

  • ইনপুট / আউটপুট স্টিডিন / স্টাডাউটের মাধ্যমে হওয়া উচিত, বা যদি সম্ভব না হয় তবে অনুরূপ বিকল্প ব্যবহার করুন।

  • আপনি ধরে নিতে পারেন ইনপুট স্ট্রিংয়ে কেবল প্রিন্টযোগ্য এএসসিআইআই রয়েছে (স্থান সহ)।

  • ডায়মন্ড প্যাটার্নের কোনও অংশ না থাকা নেতৃস্থানীয় স্পেসগুলির কলামগুলিকে আউটপুটটিতে অনুমোদিত নয় । ট্রেলিং স্পেস স্পেসগুলির কোনও পরিমাণ এবং সংমিশ্রণ অনুমোদিত।

  • আউটপুটটিতে optionচ্ছিকভাবে একটি পিছনের নিউলাইন থাকতে পারে।

  • আপনি নিজের উত্তরটি যতটা চান সম্পাদনা করতে পারেন।

স্কোরিং

সমস্ত কোডটি কেবলমাত্র নিউলাইন এবং 95 টি মুদ্রণযোগ্য ASCII অক্ষর ব্যবহার করে লিখতে হবে:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

(দুর্ভাগ্যক্রমে ট্যাবগুলি অনুমোদিত নয় কারণ স্ট্যাক এক্সচেঞ্জ তাদের কোড ব্লকের ফাঁকা স্থান হিসাবে রেন্ডার করে))

এই 96 টি অক্ষরের প্রত্যেকটির সাথে এর সাথে যুক্ত ওজন মূল্য রয়েছে। ডিফল্টরূপে, সমস্ত ওজন 97 হয়।

একটি প্রোগ্রামের স্কোর হ'ল তার প্রতিটি চরিত্রের জন্য ওজনের মানগুলির যোগফল। উদাহরণস্বরূপ, প্রোগ্রামটি যদি হয় print(4)এবং ওজন 470 হয়, তবে অন্য সব কিছুর জন্য অপরিবর্তিত থাকে তবে স্কোরটি হবে 749 = 97+97+97+97+97+97+70+97

এই প্রশ্নের ক্রিয়াকলাপটি প্রায় কোনও কিছুর কাছে স্থির হয়ে গেলে, সর্বনিম্ন স্কোরিং জমাটি জেতে। সম্ভবত টাইয়ের সম্ভাবনা কম ক্ষেত্রে জয় সবচেয়ে বেশি ভোট দেওয়া উত্তরের দিকে যায়।

ওজন পরিবর্তন করা হচ্ছে

প্রতিটি ব্যবহারকারী, তারা উত্তর দিয়েছে বা না দিয়েছে, 96 টি বর্ণের একটির ওজন 1 টি থেকে 96 টিতে অনন্য মানে পরিবর্তন করতে পারে this এটি করতে, ফর্মের এই প্রশ্নটিতে একটি মন্তব্য যুক্ত করুন #### W -> C ####, যেখানে ডাব্লু একটি পূর্ণসংখ্যা 1 থেকে 96 এবং সি হ'ল চরিত্রটি (নিজের মতো করে কোনও উদ্ধৃতি নয়, ব্যাকটিকস নেই)। \nনতুন লাইনের জন্য এবং \sস্পেসের জন্য সি এর জায়গায় ব্যবহার করুন যেহেতু স্ট্যাক এক্সচেঞ্জ এককভাবে 3 টি স্প্রেস সংকুচিত করে। print(4)উদাহরণটি মন্তব্য ছিল হবে #### 70 -> 4 ####

প্রতিটি ব্যবহারকারী কেবল এই জাতীয় মতামত জানাতে পারে এবং এটি কেবল তখনই বৈধ হবে যদি চরিত্র এবং ওজন মান উভয়ই পূর্বে করা মন্তব্যে ব্যবহার না করা হয়। সুতরাং অবশেষে, 96 টি #### W -> C ####মন্তব্য থাকতে পারে , সমস্ত বিভিন্ন ব্যবহারকারীর কাছ থেকে, সমস্ত আলাদা আলাদা চরিত্রের জন্য নির্ধারিত বিভিন্ন ওজন সহ।

ব্যবহারকারীরা চাইলে তাদের নিজস্ব মন্তব্য মুছে ফেলতে পারে, তারা বা অন্য কেউ মন্তব্য না করা পর্যন্ত তাদের অক্ষরের ওজন পুনরায় সেট করে 97 97 তারা এগুলি সম্পাদনা করতে পারে। স্বতন্ত্র ব্যবহারকারী / ওজন / অক্ষর সম্পর্কে নিয়ম অনুসরণ না করে এমন মন্তব্যগুলি "গঠনমূলক নয়" হিসাবে মুছে ফেলা বা পতাকাঙ্কিত করা উচিত। নিয়ম এবং অন্যান্য বিষয় সম্পর্কে সাধারণ মন্তব্যগুলি ঠিক আছে তবে এটি সর্বনিম্ন রাখা উচিত।

এই স্ট্যাক স্নিপেট এই প্রশ্নের সরকারী লিডারবোর্ড। এটি প্রতিবার সঞ্চালনের সময় মন্তব্যগুলি থেকে ওজন সংগ্রহ করে এটি স্বয়ংক্রিয়ভাবে সমস্ত জমা দেওয়ার জন্য স্কোরগুলি গণনা করে। এটি বন্ধন পরিচালনা করে না। কোনও প্রোগ্রামের স্কোর যাচাই করতে আপনি এটি ব্যবহার করতে পারেন।

আপনার right-click -> Open link in new tabলিঙ্কগুলির জন্য সম্ভবত প্রয়োজন হবে ।

function compute(){var e=computeScore($("#code").val());$("#score").val(e==-1?"Invalid characters":e)}function computeScore(e){var t=0;for(var n=0;n<e.length;n++){if(weights.hasOwnProperty(e[n])){t+=weights[e[n]]}else{return-1}}return t}function htmlDecode(e){var t=document.createElement("div");t.innerHTML=e;return t.childNodes.length===0?"":t.childNodes[0].nodeValue}function addLeaderboard(){validAnswers.sort(function(e,t){return e.score>t.score});var e=1;var t="";for(var n=0;n<validAnswers.length;n++){var r=validAnswers[n];t+="<tr><td>"+e+"</td><td><a href='"+r.link+"'>"+r.owner.display_name+"</a></td><td>"+r.score+"</td><td>"+r.length+"</td></tr>";if(n+1<validAnswers.length&&validAnswers[n+1].score>r.score){e++}}$("#leaderboard").append(t)}function addAnalytics(){var e="";for(var t in weights){if(weights.hasOwnProperty(t)&&weights[t]!=defaultWeight){e+=(t=="\n"?"\\n":t)+"="+weights[t]+" "}}$("#weights").val(e);var n="";for(var t in usedChars){if(usedChars.hasOwnProperty(t)&&usedChars[t]==false){n+=t=="\n"?"\\n":t}}$("#unusedc").val(n);var r="";for(var t in usedWeights){if(usedWeights.hasOwnProperty(t)&&usedWeights[t]==false){r+=t+" "}}$("#unusedw").val(r);var i="";if(invalidComments.length>0){for(var s=0;s<invalidComments.length;s++){var o=invalidComments[s];i+="<a href='#"+o.link+"'>"+o.owner.display_name+"</a> "}}else{i="none"}$("#comments").html(i);var u="";if(invalidAnswers.length>0){for(var s=0;s<invalidAnswers.length;s++){var a=invalidAnswers[s];u+="<a href='#"+a.link+"'>"+a.owner.display_name+"</a> "}}else{u="none"}$("#answers").html(u)}function checkAnswers(e){for(var t=0;t<e.items.length;t++){var n=e.items[t];var r=answerPattern.exec(n.body);if(r){var i=htmlDecode(r[1]);var s=computeScore(i);if(s==-1){invalidAnswers.push(n)}else{n.length=i.length;n.score=s;validAnswers.push(n)}}else{invalidAnswers.push(n)}}addLeaderboard();addAnalytics()}function checkComments(e){for(var t=0;t<e.items.length;t++){var n=e.items[t];var r=commentPattern.exec(htmlDecode(n.body));if(r){var i=n.owner.user_id;var s=parseInt(r[1]);var o=r[2]=="\\n"?"\n":r[2]=="\\s"?" ":r[2];if(userIDs.hasOwnProperty(i)||!usedWeights.hasOwnProperty(s)||usedWeights[s]||!usedChars.hasOwnProperty(o)||usedChars[o]){invalidComments.push(n)}else{userIDs[i]=true;usedWeights[s]=true;usedChars[o]=true;weights[o]=s}}}$.get(answersURL,checkAnswers)}function refresh(){$.get(commentsURL,checkComments)}questionID=45040;commentsURL="https://api.stackexchange.com/2.2/questions/"+questionID+"/comments?order=asc&sort=creation&site=codegolf&filter=!t)IWLXOkOvAuPe8m2xJrXOknWcw(ZqZ";answersURL="https://api.stackexchange.com/2.2/questions/"+questionID+"/answers?order=desc&sort=activity&site=codegolf&filter=!.FjsvG2LuND(frE*)WTvqQev1.lyu";commentPattern=/^#### (\d+) -> (\\(?:n|s)|[ -~]) ####$/;answerPattern=/<pre><code>((?:\n|.)*?)\n<\/code><\/pre>/;chars="\n !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";validAnswers=[];invalidAnswers=[];invalidComments=[];userIDs={};usedWeights={};usedChars={};weights={};defaultWeight=chars.length+1;for(var i=0;i<chars.length;i++){usedChars[chars[i]]=false;usedWeights[i+1]=false;weights[chars[i]]=defaultWeight}refresh()
*{font-family:Helvetica,Arial,sans-serif}table{border:3px solid green;border-collapse:collapse}button{font-size:100%}th{background-color:green;color:#fff;padding:6pt}td{border:1px solid green;padding:6pt}.large{font-size:140%}.title{font-weight:700;margin:6pt 0}textarea{font-family:"Courier New";white-space:nowrap;overflow:auto}input[readonly]{background-color:#dcdcdc}.analytics{font-size:90%;padding:4pt 0 0}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div class='large title'>Leaderboard</div><table id='leaderboard'> <tr> <th>Place</th> <th>Submitter</th> <th>Score</th> <th>Program Length</th> </tr></table><br><div class='title'>Compute Score</div><textarea id='code' rows='5' cols='40' placeholder='paste code here...'></textarea><br><button type='button' onclick='compute()'>Compute</button> Score: <input type='text' id='score' readonly><br><br><div class='title'>Analytics</div><div class='analytics'>Assigned weights: <input type='text' id='weights' readonly></div><div class='analytics'>Unused characters: <input type='text' id='unusedc' readonly> (all weight 97)</div><div class='analytics'>Unused weights: <input type='text' id='unusedw' readonly></div><div class='analytics'>Invalid comments (duplicate user/char/weight):&nbsp;<span id='comments'></span></div><div class='analytics'>Invalid answers (illegal characters or no code block):&nbsp;<span id='answers'><span></div><br><button type='button' onclick='refresh'>Refresh</button>

এই লিডারবোর্ডটি কাজ করার জন্য, মন্তব্যগুলি অবশ্যই উপরে বর্ণিত সঠিক ফর্ম্যাটে থাকতে হবে এবং আপনার প্রোগ্রামের কোডটি অবশ্যই আপনার উত্তরের ( <pre><code>...</code></pre>প্রথমগুলি) প্রথম বহু-লাইন কোড ব্লকে থাকা উচিত । সিনট্যাক্স হাইলাইটিং ব্যবহার করবেন না বা আপনার কোডটি সঠিকভাবে পড়বে না। স্নিপেটটি আপডেট হওয়ার আগে এক বা দুই মিনিট সময় নিতে পারে।

আমি স্নিপেটটি ভালভাবে পরীক্ষা করে দেখিনি তবে এই প্রতিযোগিতাটি চলতে থাকায় আমি এটির দিকে নজর রাখব। আপনি যদি কোন বাগ লক্ষ্য করেন তবে দয়া করে আমাকে বলুন। এখানে একটি নন-মিনিফাইড সংস্করণ রয়েছে:

মনে রাখবেন যে এই স্কোরিং সিস্টেমটি সম্পূর্ণ নতুন এবং পরীক্ষামূলক। আশা করি স্ট্যাক এক্সচেঞ্জ এতে কিছুটা মন্তব্য জড়িত মনে করবে না। : P: P

সম্পর্কিত চ্যালেঞ্জ: এই হীরাটি মুদ্রণ করুন



মন্তব্যগুলি 5 মিনিটের জন্য সম্পাদনা করা যেতে পারে, সুতরাং এগুলি সম্পাদনা করার অনুমতি দেওয়ার ফলে পুনরাবৃত্তি না করার নিয়মগুলির সাথে সম্পূর্ণ ধ্বংস হতে পারে।
পিটার টেলর

@ পিটারটেলর তবে কীভাবে আমি মন্তব্য সম্পাদনা বন্ধ করব? সম্পাদিত যা সম্পূর্ণ উপেক্ষা ছাড়াও। 5 মিনিট বেশ দ্রুত যায়।
ক্যালভিনের

1
আমি এই স্কোরিং সিস্টেমটি মোটেই পছন্দ করি না (চ্যাট দেখুন) তবে আপনি যদি এটি ব্যবহার করতে চলেছেন তবে সম্পাদিত মন্তব্যগুলি উপেক্ষা করা অবশ্যই সঠিক কাজ thing
পিটার টেলর

#### 2 ->: ####
লজিক নাইট

উত্তর:


4

সিজেম, 144 150 বাইট

"x*3:*3:3*::33:3:::333*::333*3::***3::**::33:3::3*:::::*3:3:3:**33*333333::33*:*333:*3*3**:**3:**:3*3:33*3:3*:333**:3**33:*3:::*:3*::3"'3/'b*3b127b:c~

কিছু এনকোডিং চেষ্টা করেছে ...

ওজন bপরিবর্তিত হয়েছে বলে আপডেট হয়েছে।

আরেকটি এনকোডিং যা তত্ত্বের (140 বাইট) কেবলমাত্র ভাল:

":***(*3:**3*I**:3*****:*3*******: ::::*:***II@3*******: :**I:**:***:*3***3*I3I:3***33:::*I**3I***3***:3:*I*3I"{"*:I3( **@"#1a*~0}%2b126b:c~

5

পাইথন 2, 120 বাইট

T=raw_input()
L=len(T)
r=[b[::-1]+b[1:]for b in [T[-b:]+' '*(L-b)for b in range(1,L+1)]]
for b in r[:-1]+r[::-1]:print b

সম্পাদনা করুন: কিছু সস্তার অক্ষরের সাথে দাম কমেছে।





1

পিএইচপি (১৩১ টি চর)

function f($s){for($i=-($l=strlen($s));$i<$l;$I=abs(++$i)){$t=substr($s,$I);echo str_repeat(' ',$I).strrev($t).substr($t,1)."\n";}}

http://3v4l.org/9Vvkm

ওজন পরিষ্কার হওয়ার পরে অনুকূলিত হবে।


আপনার কোড এটিতে আবার লিখিত হতে পারে: function f($s){for($i=-($l=strlen($s));$i<$l;)echo str_repeat(' ',$I=abs(++$i)),strrev($t=substr($s,$I)),substr($t,1),"\n";}যা কাজ নাও করতে পারে। তবে এটি 6 বাইট সংক্ষিপ্ত! সম্ভবত আপনি এখান থেকে কিছু নিতে পারেন।
ইসমাইল মিগুয়েল

0

জাভা, 318 বাইট

class N{public static void main(String[]a){char[]s=new java.util.Scanner(System.in).nextLine().toCharArray();int l=s.length,m=l-1,$=0,b;String t="";for(;$<l;$++,t+='\n')for(b=0;b<l+$;b++)t+=b+$<m?' ':s[b>m?m-b+$:b+$-m];for($=l-2;$>-1;$--,t+='\n')for(b=0;b<l+$;b++)t+=b+$<m?' ':s[b>m?m-b+$:b+$-m];System.out.print(t);}}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.