একটি টুর্নামেন্ট বন্ধনী নির্মাণ করুন


13

খালি খালি স্ট্রিংগুলির একটি ইনপুট তালিকা দেওয়া, নিম্নলিখিত অঙ্কনের নিয়মের ভিত্তিতে একটি টুর্নামেন্টের একটি ASCII শিল্প উপস্থাপনা আউটপুট করুন:

  • স্ট্রিংয়ের সংখ্যা পরিমাণের গ্যারান্টিযুক্ত 2,4,8,16,etc.
  • প্রথম দুটি স্ট্রিং একে অপরকে বাজায় এবং পরের দুটি দুটি একে অপরকে খেলেন। এটি প্রথম রাউন্ড।
  • প্রতিটি গেমের জন্য, সমান সম্ভাবনার সাথে এলোমেলোভাবে বিজয়ীকে চয়ন করুন।
  • পরবর্তী রাউন্ডের জন্য, প্রথম গেমের বিজয়ী দ্বিতীয় গেমের বিজয়ী খেলেন, তৃতীয় গেমের বিজয়ী চতুর্থ গেমের বিজয়ী খেলেন, ইত্যাদি। পরবর্তী রাউন্ডগুলি প্যাটার্নটি অনুসরণ করে।
  • অবশেষে একটি সামগ্রিক বিজয়ী আছে।
  • সুন্দর আউটপুট (প্রয়োজনীয়) এর জন্য স্ট্রিংগুলি অবশ্যই সমস্ত একটি আন্ডারস্কোর দিয়ে সংযোজন এবং সংযোজন করা উচিত _
  • বন্ধনী যথাযথভাবে সরে যাওয়ার জন্য, প্রতিটি এন্ট্রি অবশ্যই _সেই বৃত্তাকার জন্য সমান দৈর্ঘ্যের সাথে প্যাড করা উচিত ।
  • প্যাডিং চালিত বা সংযোজনযোগ্য কিনা তা আপনি চয়ন করতে পারেন, যতক্ষণ এটি ধারাবাহিক থাকে।
  • পরিবর্তে, আপনি প্রতি-রাউন্ড ভিত্তিতে না হয়ে সমস্ত স্ট্রিংগুলি একই দৈর্ঘ্যের হতে প্রাক-প্যাড চয়ন করতে পারেন। আপনার কোডের জন্য যে কোনও গল্ফিয়ার।

আরও বিধি

  • নেতৃস্থানীয় বা পিছনে থাকা নতুন লাইনের বা হোয়াইটস্পেসগুলি সমস্ত alচ্ছিক, যতক্ষণ না অক্ষরগুলি নিজেরাই সঠিকভাবে লাইন করে থাকে।
  • হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য। যদি কোনও ফাংশন হয় তবে আপনি আউটপুটটি মুদ্রণের পরিবর্তে ফিরে আসতে পারেন।
  • যদি সম্ভব হয় তবে দয়া করে একটি অনলাইন পরীক্ষার পরিবেশের একটি লিঙ্ক অন্তর্ভুক্ত করুন যাতে অন্য লোকেরা আপনার কোড চেষ্টা করে দেখতে পারে!
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • এটি তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।

উদাহরণ

শহরগুলির সাথে উদাহরণ ['Boston', 'New York', 'Charlotte', 'Atlanta', 'St. Paul', 'Chicago', 'Los Angeles', 'Phoenix']:

_Boston______
             \_New York____
_New York____/             \
                            \_New York_
_Charlotte___               /          \
             \_Charlotte___/            \
_Atlanta_____/                           \
                                          \_St. Paul_
_St. Paul____                             /
             \_St. Paul____              /
_Chicago_____/             \            /
                            \_St. Paul_/
_Los Angeles_               /
             \_Los Angeles_/
_Phoenix_____/

এর সাথে উদাহরণ ['Lions', 'Tigers', 'Bears', 'Oh My']:

_Lions__
        \_Tigers_
_Tigers_/        \
                  \_Tigers_
_Bears__          /
        \_Bears__/
_Oh My__/


বিজয়ীর নির্বাচনটি কি মার্সেন টুইস্টারকে এলোমেলো হতে হবে, না এটি ছদ্ম-এলোমেলো হতে পারে?
জ্যাচ গেটস

@ জ্যাচগেটস এতক্ষণ দু'টি দলের মধ্যে ৫০-৫০ অবধি সুযোগ রয়েছে, আপনি যে পদ্ধতিটি ব্যবহার করতে চান তা ঠিক।
অ্যাডমবর্কবর্ক

উত্তর:


6

কাঠকয়লা , 92 79 বাইট

A¹θWS⊞υ⪫__ιWυ«A⌈EυLκεA⁺θθδFυ«P×_εPκMδ↓»AE✂υ¹Lυ²⎇‽²κ§υ⁺λλυMε→Fυ«Mδ↑↗θ←↖θ→»Mθ↘Aδθ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ইনপুটটির শেষ চিহ্নিত করতে একটি ফাঁকা রেখা দরকার। ব্যাখ্যা:

A¹θ

চলকটির সূচনা করুন q। এটি জিগ-জাগগুলির আকার ধারণ করে অর্থাৎ সারিগুলির মধ্যে অর্ধেক ব্যবধান।

WS⊞υ⪫__ι

অ্যারেতে ননব্ল্যাঙ্ক ইনপুট লাইনগুলি পড়ুন u_পঠিত হওয়ার সাথে সাথে লাইনগুলি স্বয়ংক্রিয়ভাবে ঘিরে থাকে যদিও সেগুলি এখনও প্যাড করা হয়নি।

Wυ«

লুপ যখন এখনও স্ট্রিং বাকি আছে।

A⌈EυLκε

বৃহত্তম স্ট্রিংয়ের প্রস্থের গণনা করুন e

A⁺θθδ

সারিগুলির মধ্যে ফাঁক গণনা করুন d

Fυ«P×_εPκMδ↓»

প্রতিটি দলের জন্য, প্যাডিং মুদ্রণ করুন, দলটি মুদ্রণ করুন এবং তারপরে পরবর্তী দলে যান।

AE✂υ¹Lυ²⎇‽²κ§υ⁺λλυ

অন্য প্রতিটি দলের জন্য, এলোমেলোভাবে সেই দল বা পূর্ববর্তী দলের মধ্যে বেছে নিন। (মনে রাখবেন যে যদি কেবলমাত্র একটি দল বাকি থাকে তবে এটি একটি খালি তালিকা তৈরি করে))

Mε→Fυ«Mδ↑↗θ←↖θ→»Mθ↘

যদি এখনও টিম বাকি থাকে তবে তাদের সাথে জোড়ায় যোগ দেওয়া জিগজাগগুলি আঁকুন।

Aδθ

জিগজ্যাগগুলির দৈর্ঘ্য প্রতিবার দ্বিগুণ করুন।


আপনি কি মনে করেন যে কোনও লিস্ট ইনপুট অপারেটর অ্যাডাক্যান্টেজিয়াস হবে এমন কোনও মামলা থাকবে?
ASCII- কেবল

@ এএসসিআইআই-ওয়েল, আমি এএসসিআইআই ভেন ডায়াগ্রাম প্রশ্নের জন্য এটি ব্যবহার করতে পারতাম ...
নীল

: | আপনি কি মনে করেন এটি বাস্তবায়নের উপযুক্ত?
ASCII- কেবল

@ এএসসিআইআই-কেবলমাত্র আমি মনে করি আপনি ▷vSযেভাবেই করতে পারেন বা এর জন্য কিছু করতে পারেন ।
এরিক আউটগল্ফার

2

পাইথন 2 , 379 364 বাইট

exec r"""c=input();from random import*;R,L,d=range,len,0;u,s="_ ";r=[[""]*-~L(c)@R(2*L(c)-1)]
while c:
 W=2+max(map(L,c));j=1<<d;J=j/2;D=d+d;d+=1
 @r:l[D]=s*W;l[D-1]=s*J
 @R(L(c)):
	h=l*2*j+j-1;r[h][D]=(u+c[l]+u*W)[:W]
	@R(h-J,h+J):r[-~l][~-D]=("/\\"[l<h]+s*abs(h-l-(l<h))).rjust(J)
 c=[choice(l)@zip(c[::2],c[1::2])]
@r:print"".join(l)""".replace("@","for l in ")

এটি অনলাইন চেষ্টা করুন!


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


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.