একটি এএসসিআইআই হেক্সাগন রিং টাইলিং করুন


10

এএসসিআইআই ব্যবহার করে ষড়ভুজ রিং টাইলিংয়ের একটি বিভাগ মুদ্রণ করুন।

এখানে একটি ছোট বিভাগ রয়েছে:

       /\__/\
      /_/  \_\
 /\__/\ \__/ /\__/\ 
/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/
 /\__/\ \__/ /\__/\ 
/_/  \_\/__\/_/  \_\ 
\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/
      \ \__/ /
       \/__\/

এখানে একটি বৃহত্তর বিভাগ:

\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/

চ্যালেঞ্জ

2 পূর্ণসংখ্যা দেওয়া হয়েছে hএবং উচ্চতাটি wকোথায় hএবং wপ্রস্থটি, hxwষড়ভুজ রিং টাইলিংয়ের একটি অংশ আউটপুট দেয় ।

উদাহরণ

ইনপুট ঘ

4x4

আউটপুট 1

 /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\

ইনপুট 2

3x3

আউটপুট 2

 /\__/\ \__/ /\__/\
/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/
 /\__/\ \__/ /\__/\
/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/
 /\__/\ \__/ /\__/\
/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/

ইনপুট 3

1x3

আউটপুট 3

 /\__/\ \__/ /\__/\
/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/

ইনপুট 4

3x6

আউটপুট 4

 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\

ব্যাখ্যা

  • আমার প্রশ্নটি এর সাথে মিলে যায়: মি ওয়ান হানিকম্ব
  • ইনপুটটি ফর্মের একক লাইনে থাকবে hxw
  • স্টাডআউট আউটপুট (বা অনুরূপ কিছু)।
  • এটি কোড-গল্ফ তাই বাইট জিতে সংক্ষিপ্ত উত্তর।

6
পরিষ্কার এবং উদ্দেশ্যমূলক থাকতে আমাদের কতটা অনুচ্ছেদে আউটপুট আউট করতে হবে তা আপনার স্পষ্ট করে বলা উচিত
জেমস

আমি কেবল আপনার মন্তব্যটি দেখেছি আমি এটি আরও স্পষ্ট করার জন্য মাত্রাগুলি ঠিক করব
Bobas_Pett

যেহেতু আমি মনে করি না যে মডারেটররা আমার মন্তব্যটি দেখেছেন, যদি প্রশ্নটি পরবর্তী ২৪ ঘন্টা ধরে থেকে যায়, তবে আমি সম্পাদিত সম্পাদনাগুলি নিয়ে আপডেট প্রশ্ন এবং স্পষ্টতার চতুর্থ উদাহরণ তৈরি করি example বিভ্রান্তির জন্য দুঃখিত এবং আমি যে সম্পাদনাগুলি করেছি তা যদি আপনি চেয়েছিলেন তবে তার কাছে না থাকলে দয়া করে আমাকে কী প্রয়োজন তা বলে মন্তব্য পোস্ট করুন।
বোবাস_পেট

এটি কোলমোগোরভ-জটিলতা ট্যাগ করা উচিত?
পাভেল

অসুস্থভাবে এটি 1 সেকেন্ডে যুক্ত করুন ...
বোবাস_পেট

উত্তর:


2

বেফুঞ্জ, 137 বাইট

আমি মনে করি একধরণের স্কিফি হ্যান্ডগান তৈরি করেছি।

&>4*>~>$&>\>1-:4%3v
>00gg,\1-:v^_@#:\<>+00p\::6*\00g2/+2%+1+66+:
^%+66<:+1\_$$55+,^
_\/__\/_/  \
\ \__/ /\__/\
/_/  \_\/__\/
 /\__/\ \__/

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

ব্যাখ্যা

&>4*>                    Read the height and multiply by 4.
     ~>$                 Drop the 'x' separator. 
        &>\              Read the width and swap below the height

>                        Start of the outer loop.
 1-                      Decrement the height.              
   :4%3+00p              Calculate the pattern y offset: height%4+3
           \             Swap the width back to the top.

::6*\00g2/+2%+1+         Calculate the line length: w*6+(w+y/2)%2+1 
                66+:     Initialise the pattern x offset to 12, and duplicate it.

>                        Start of the inner loop.     
 00gg                    Get a pattern char using the x on the stack and the saved y.
     ,                   Output the char.
      \1-                Swap the line length to the top of the stack and decrement it.
         :v              Check if it's zero, and if so...
          _                 ...break out of the loop to the right.
       +1\               Otherwise swap the x offset back to the top and increment it.
 %+66<:                  Mod it with 12 to make sure it's in range.
^                        Then return to the beginning of the inner loop.

$$                       Drop the x offset and line length.
  55+,                   Output a newline.
     \<                  Swap the height back to the top of the stack.
 _@#:                    Check if it's zero, and exit if that's the case.
^                        Otherwise return to the start of the outer loop.

3

লুয়া, 174 176 156 বাইট

কোডটি হেক্সাগনগুলির উচ্চতা-পরিমাণ নয়, লাইনগুলির উচ্চতা-পরিমাণ প্রিন্ট করবে। যোগ করা হয়েছে *4, এটি এটি স্থির করেছে, তবে 2 টি অতিরিক্ত বাইট যুক্ত করেছে। মডেলো থেকে পাল্টা পরিবর্তন করে io.read()এবং একটিতে দুটি গুলি রেখে কিছু বাইট সংরক্ষণ করেছেন ।

io.read()ইনপুট হিসাবে ব্যবহার করে ।

a,w,h,n,d={[[ /\__/\ \__/]],[[/_/  \_\/__\\]],[[\ \__/ /\__/]],[[_\/__\/_/  \\]]},io.read(,),"",0 for i=h*4,0,-1 do d=d+1 d=5%d end n=a[d]print(n:rep(w))end

এর মাধ্যমে স্ট্রিংয়ের প্রস্থ-পরিমাণকে প্রতিলিপি করে string:rep(width), তারপরে একটি লুপের সাহায্যে উচ্চতার পরিমাণকে পুনরাবৃত্তি করে। আবশ্যক [[]](আক্ষরিক স্ট্রিং) কারণ ব্যাকস্ল্যাশগুলি সত্যিই খারাপ জিনিস।

পুরাতন রুপ:

a,w,h,n,d={[[ /\__/\ \__/]],[[/_/  \_\/__\\]],[[\ \__/ /\__/]],[[_\/__\/_/  \\]]},io.read(),io.read(),"",0 for i=h*4,0,-1 do d=d+1 d=5%d end n=a[d]print(n:rep(w))end

1

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

a,b,c,d=' /\__/\ \__/','/_/  \_\/__\\','\ \__/ /\__/','_\/__\/_/  \\'
h,w=input()
x=w/2
e,E=[(2,1),(7,8)][w%2]
print'\n'.join([a*x+a[:e],b*x+b[:E],c*x+c[:E],' '+(d*x+d[:e])[1:]]*h)

দুটি পূর্ণসংখ্যা হিসাবে ইনপুট নেয়

ইনপুট: 2,7

আউটপুট:

 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/
 /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
 \/__\/_/  \_\/__\/_/  \_\/__\/_/  \_\/__\/

1

ব্যাচ, 266 বাইট

@echo off
for /l %%i in (1,1,%1)do call:l %2 " \" /__\/ "_/  \_\" " \__/ /" \__/\
exit/b
:l
call:c %1 " /" %6 %5
call:c %1 / %4 %3
call:c %1 \ %5 %6
:c
set s=%~2
for /l %%j in (2,2,%1)do call set s=%%s%%%~3%~4
set/ao=%1^&1
if %o%==1 set s=%s%%~3
echo %s%

:cসাবরুটিন টুকরা একটি একক লাইন জন্য একসাথে concatenating সব legwork আছে; এটিকে :l4 বার ডাকা হয় (এক ঝরে :lপরেও :cপ্রতিটি আংটির প্রতিটি সারির 4 টি লাইন উত্পন্ন করার জন্য আর্গুমেন্টগুলির সুপারসেট হওয়ার ব্যবস্থা করে )। এর পরিবর্তে শেষ সারিটির রিংয়ের মধ্য দিয়ে পড়ার সম্ভাবনাও ছিল তবে এটি 5 বাইট দীর্ঘ হতে পারে।

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