এটি বাল্কিংয়ের মরসুম


12

আমার জিমের বারবেলগুলি দেখতে এমন দেখাচ্ছে:

=========[]-----------------------[]=========

তারা পাঁচটি বিভিন্ন আকারের, 2.5 পাউন্ড, পাঁচ পাউন্ড, দশ পাউন্ড, 25 পাউন্ড এবং 45 পাউন্ডের প্লেট রাখতে পারে:

                .
        .   !   |
.   !   |   |   |
|   |   |   |   |
'   !   |   |   |
        '   !   |
                '

সুরক্ষার জন্য, আমরা কোনও ক্লিপ যোগ করি ]বা [আমাদের প্লেটের বাইরের অংশে যদি থাকে তবে। বারটি নিজেই ওজনের 45 পাউন্ড। আমরা সবসময় কেন্দ্রের নিকটতম সবচেয়ে ভারী প্লেটগুলি রেখেছি, কোনও প্লেটের মধ্যে কোনও ফাঁক নেই, এবং উভয় পক্ষেই অভিন্ন প্লেট রেখেছি। আমরা সর্বদা সম্ভব সর্বনিম্ন সংখ্যক প্লেট ব্যবহার করি, উদাহরণস্বরূপ, আমরা কখনই একপাশে দুটি পাঁচ-পাউন্ড প্লেট ব্যবহার করি না। সুতরাং আমি যদি 215 পাউন্ড তুলতে চাই তবে আমার বারটি দেখতে এমন দেখাচ্ছে:

        .                           .
      .!|                           |!.
     !|||                           |||!
====]||||[]-----------------------[]||||[====
     !|||                           |||!
      '!|                           |!'
        '                           '

আপনার কোড, একটি ফাংশন বা সম্পূর্ণ প্রোগ্রাম, অবশ্যই 45 থেকে 575 এর মধ্যে একটি পূর্ণসংখ্যার অবধি নিতে হবে, সর্বদা 5 এর একাধিক এবং বারটি আউটপুট দেয় যা সেই ওজনকে যুক্ত করে। উদাহরণ স্বরূপ:

ইনপুট: 45

আউটপুট (নোট করুন খালি বারে কোনও ক্লিপ নেই):

=========[]-----------------------[]=========

ইনপুট: 100

আউটপুট:

        !                           !
       .|                           |.
======]||[]-----------------------[]||[======
       '|                           |'
        !                           !

ইনপুট: 575

আউটপুট:

    .....                           .....
  .!|||||                           |||||!.
 !|||||||                           |||||||!
]||||||||[]-----------------------[]||||||||[
 !|||||||                           |||||||!
  '!|||||                           |||||!'
    '''''                           '''''

আপনার প্রতিটি লাইনে ট্রেলিং স্পেস থাকতে পারে বা নাও থাকতে পারে, তবে আপনার আউটপুটে খালি লাইনগুলি অগ্রণী বা পিছনে চলতে পারে না (45 এর আউটপুট এক লাইন হওয়া উচিত, 50 এর জন্য তিনটি লাইন হওয়া উচিত, 65 টি পাঁচটি লাইন হওয়া উচিত and

এটি কোড গল্ফ, সংক্ষিপ্ততম কোড জয়!


পাইথনের ব্যবহার করে স্ট্রিংটি মুদ্রিত হয়েছে, এমন কি আমরা 7-উচ্চতরগুলি সহ প্রতিটি ক্ষেত্রে একটি ট্র্যাকিং খালি রেখা মুদ্রণ করতে পারি print?
পূর্বকুডারী

উত্তর:


1

পাইথ, 126 বাইট

K[Z5TyT50 90)jfrT6.e::++J+?qk3\=dsm@bxKdhfqQ+45sTSSM^K8?qk3r"[]23-[]"9*27d_J"=\|""]|""\|=""|["c7s@L". !|='"jC"¾ª±À£¤¯aàI7"6

উত্স কোডটিতে অপ্রিন্টযোগ্য অক্ষর রয়েছে, সুতরাং এটি এটি এক্সএক্সডি ডাম্প হিসাবে রয়েছে:

0000000: 4b5b 5a35 5479 5435 3020 3930 296a 6672  K[Z5TyT50 90)jfr
0000010: 5436 2e65 3a3a 2b2b 4a2b 3f71 6b33 5c3d  T6.e::++J+?qk3\=
0000020: 6473 6d40 6278 4b64 6866 7151 2b34 3573  dsm@bxKdhfqQ+45s
0000030: 5453 534d 5e4b 383f 716b 3372 225b 5d32  TSSM^K8?qk3r"[]2
0000040: 332d 5b5d 2239 2a32 3764 5f4a 223d 5c7c  3-[]"9*27d_J"=\|
0000050: 2222 5d7c 2222 5c7c 3d22 227c 5b22 6337  ""]|""\|=""|["c7
0000060: 7340 4c22 2e20 217c 3d27 226a 4322 04be  s@L". !|='"jC"..
0000070: aa1f b1c0 a3a4 81af 61e0 4937 2236       ........a.I7"6

এই কোডটি চূড়ান্তভাবে ধীর , কোনও আসল ব্যবহারের বিন্দুতে। কোডটিকে কার্যত সমতুল্য রাখার সময় আপনি এর মধ্যে একটি .{( set) কল যোগ করে প্রায় 1000 বার গতি বাড়িয়ে নিতে পারেন । ফলাফলের কোডটির একটি অনুলিপি-বান্ধব সংস্করণ এখানে রয়েছে:

K[Z5TyT50 90)jfrT6.e::++J+?qk3\=dsm@bxKdhfqQ+45sTS.{SM^K8?qk3r"[]23-[]"9*27d_J"=\|""]|""\|=""|["c7s@L". !|='"j96235640060099376576144045263159 6

2

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

i=input()-45
w=90,50,20,10,5;p=".|||||'"," !|||! "," .|||' ","  !|!  ","  .|'  "
a=[' '*46]
b=zip(*a*3+['='*9+'[]'+'-'*24+'[]'+'='*9]+a*3)
v=8
j=0
while i:
 if i>=w[j]:i-=w[j];b[v]=b[-v-1]=p[j];v-=1
 else:j+=1
if v<8:b[v]=b[10];b[-v-1]=b[9]
for l in zip(*b):
 L=''.join(l).rstrip()
 if L:print L

বারটি উল্লম্বভাবে তৈরি করে, তারপরে ঘোরা এবং অ-খালি লাইনগুলি মুদ্রণ করে।


-v-1বিটওয়াইজ অবহেলার প্রধান প্রার্থী; ~v
জোনাথন ফ্রেচ

1

কাঠকয়লা , 65 বাইট

¹²[]P×=⁹≔⁻N⁴⁵θWΦ⟦⁵χ²⁰¦⁵⁰¦⁹⁰⟧¬›κθ«P|§⪪”{⊞⧴&β1←Z↶RΣ”,Lι→P[≧⁻⊟ιθ»‖B←

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

¹²[]P×=⁹

12 -টি, []এবং 9 =টি মুদ্রণ করুন । এটি বারের অর্ধেকটি নিয়ে গঠিত। এর শুরুতে কার্সারটি বাকি আছে =

≔⁻N⁴⁵θ

বারের ওজনের জন্য ইনপুট থেকে 45 বিয়োগ করুন।

WΦ⟦⁵χ²⁰¦⁵⁰¦⁹⁰⟧¬›κθ«

ইনপুটটির চেয়ে বড় নয় এমনদের জন্য জোড়ের জোড়গুলির সম্ভাব্য ওজনের একটি তালিকা ফিল্টার করুন এবং তালিকাটি খালি না থাকায় পুনরাবৃত্তি করুন।

P|§⪪”{⊞⧴&β1←Z↶RΣ”,Lι

|||.,|.,|!,||.,||!কমাতে স্ট্রিং বিভক্ত করুন এবং সবচেয়ে ভারীতম ওজনের সাথে সামঞ্জস্য করা টুকরোটি নির্বাচন করুন এবং এটিকে উপরের এবং নীচে উভয় প্রিন্ট করুন। (বিকল্পভাবে, কেবল এটি উপরের দিকে প্রিন্ট করা এবং ¬শেষে দিকটি প্রতিবিম্বিত করা সম্ভব ; বেশ কয়েকটি ভিন্নতার দৈর্ঘ্য একই সমান।)

→P[

ক্লিপটি মুদ্রণ করুন (যদি হয় তবে পরবর্তী ওজনের দ্বারা ওভাররাইট করা হবে)।

≧⁻⊟ιθ»

ইনপুট থেকে ওজন বিয়োগ করুন।

‖B←

বারবেলটি সম্পূর্ণ করতে প্রতিফলিত করুন।

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