শুভ বেকন দিবস!


40

আজ বেকন দিবস সম্ভবত এই কারণেই আজ অংশ নিতে টুপিটির নাম "এমএমএমএম বেকন"। বেকন থেকে তৈরি মজাদার 2 ডি ম্যাট্রিক্স সহ বেকন দিবস উদযাপনের আর কী ভাল উপায়! একটি 1 বাই 1 বেকন স্ট্রিপ এটি উপস্থাপন করে:

----- 
)===)
(===(
)===)
-----

আপনি এখানে লক্ষ্য দুই স্থানাঙ্ক একটি tuple মধ্যে, (দেওয়া হয় x, y), যেখানে xএবং yধনাত্মক পূর্ণসংখ্যা অশূন্য, আপনি বেকন এবং কিছু ফরম্যাট (তালিকা, এরে, STRING) আগমন তৈরি করতে হয়।

ইনপুট এবং আউটপুট:

Input: (2, 1)

Output:
----------  
)===))===)
(===((===(
)===))===)
----------

Input: (1, 2)

Output:

----- 
)===)
(===(
)===)
----- 
)===)
(===(
)===)
-----

Input: (2, 2)

---------- 
)===))===)
(===((===(
)===))===)
---------- 
)===))===)
(===((===(
)===))===)
----------

নিয়মাবলী:

  • যেমন আপনি দ্বিতীয় পরীক্ষার ক্ষেত্রে দেখতে পাচ্ছেন, যদি বেকনটির একাধিক টুকরা একসাথে সজ্জিত করা হয় তবে কেবলমাত্র একটি -----এবং প্রতিটি বােকন এর টুকরা উপরে এবং / অথবা এর নীচে পৃথক করে। এর অর্থ এইভাবে বেকনকে স্ট্যাক করা অবৈধ:

    ----- 
    )===)
    (===(
    )===)
    -----
    ----- 
    )===)
    (===(
    )===)
    -----   
    
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ

  • উপরে পরীক্ষা ক্ষেত্রে এবং নিম্নলিখিত কোড আবশ্যক কাজ: (4, 4), (1, 6), (5, 1), (2, 3),(3, 2)

  • উপরোক্ত পরীক্ষার কেসগুলি পরীক্ষা করা যেতে পারে এমন কোনও দোভাষী প্রদান করুন

বিজয়ী মানদণ্ড:

সবচেয়ে কম কোড জয়! সবাইকে বেকন দিবস!


এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ডেনিস

উত্তর:


11

ভি , 28, 26 , 24 বাইট

Ài)³=)Y4PÒ-G.MÓ)/(
kÀäG

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

ব্যাখ্যা:

Ài                      " Arg 1 times insert:
  )³=)                  " ')===)'
      <esc>             " Escape back to normal mode
           Y            " Yank this line
            4P          " Paste four times
              Ò-        " Replace this line with '-'
                G.      " Repeat on the last line
                  M     " Move to the middle line
                   Ó)/( " Replace ')' with '('
k                       " Move up (to the second line)
 À                      " Arg 2 times
  äG                    " Duplicate everything up to the last line

3
আমি পছন্দ করি কীভাবে এই উত্তরটি একটি একক বেকন থেকে মাত্র 3 বাইট দীর্ঘ: ডি
ফ্লিপট্যাক

3
নিখুঁত এটি আসলে 2 খাটো। : পি
ডিজেএমসিএমহেম

2
সে সম্পর্কে ভুলে গেছি! বাহ, একটি উত্তর যা আউটপুটটির বিল্ডিং ব্লকের চেয়ে কম। এটি ডেনিস-স্টাইলের কিছু জিনিস চলছে।
ফ্লিপট্যাক

8

টিআই-বেসিক, 80 বাইট

এই এক আসলে বেশ প্রতিভা :)

":→Str0:Input :For(M,0,4Y:For(N,1,X:")===)
If not(fPart(M/4:"-----
If .5=fPart(M/4:"(===(
Str0+Ans→Str0:End:Ans+":→Str0:End

এছাড়াও, যে কেউ হতাশ জন্য, TI তৈরি-বেসিক কোলন এবং সম্পর্কে newline বিনিমেয়, এবং ব্যবহার Inputকোন যুক্তি দিয়ে মধ্যে ডিফল্টরূপে ইনপুট পায় Xএবং Y
টিমটেক

7

পাইথন 2.7, 74 বাইট

আমি নিশ্চিত যে এটি আরও কিছুটা গল্ফ করা যেতে পারে তবে আমি এটি নিয়ে এসেছি (পাইথনের স্ট্রিংয়ের গুণ গুণটি অবশ্যই কার্যকর হবে):

a,b=input();f="-"*5*a;d=")===)"*a;print'\n'.join([f,d,"(===("*a,d,''])*b+f

এখানে চেষ্টা করুন !

ব্যাখ্যার সাথে নিরবচ্ছিন্ন:

a,b = input()                                       # Take input from the user as a tuple
f = "-"*5 * a                                       # f is the delimiter between bacons
d = ")===)" * a                                     # 2nd and 4th lines of bacon
print '\n'.join([f, d, "(===("*a, d, ''])*b + f     # Join everything together!

5

গণিত, 74 বাইট

Array[b["-----",b=")===)","(===("][[#~Mod~4]]&,{4#2+1,#}]~Riffle~"\n"<>""&

অজানা ফাংশন দুটি ধনাত্মক পূর্ণসংখ্যার যুক্তি গ্রহণ করে এবং নতুন লাইনের সাথে একটি স্ট্রিং ফিরিয়ে দেয়। একটি স্ট্যান্ডার্ড ম্যাথেমেটিকা ​​অ্যাপ্রোচ: লম্বালম্বিভাবে স্ট্রিংগুলি সাইকেল চালানোর জন্য একটি (মড 4) চয়নকারী ব্যবহার করে স্ট্রিংগুলির 2 ডি অ্যারে তৈরি করুন, তারপরে সেগুলিকে একটি স্ট্রিংয়ে ভেঙে দিন।


4

ব্যাচ, 168 বাইট

@set s=
@for /l %%i in (1,1,%1)do @call set s=%%s%%-___-
@set t=%s:_==%
@echo %s:_=-%
@for /l %%i in (1,1,%2)do @echo %t:-=)%&echo %t:-=(%&echo %t:-=)%&echo %s:_=-%

বরং দুর্ভাগ্যক্রমে আমি @echo %s:==-%অন্যথায় লিখতে পারি না যা দ্বিতীয় ভেরিয়েবলের প্রয়োজনীয়তা মুছে ফেলবে।


1,2 এবং 3,4 এর সাথে লাইনগুলি সংঘবদ্ধ করে 2 বাইট সংরক্ষণ করুন &...
মাগু

4

সি, 91 89 বাইট

i;f(w,h){w=w*5+1;for(i=0;i<w*4*h+w;++i)putchar(i%w<w-1?i/w%4?i%w%5%4?61:40+i/w%2:45:10);}

4

05 এ বি 1 ই , 25 বাইট

কোড:

…)==û×Ь'(:s)¬g'-×=¸«»²F=

ব্যাখ্যা:

…)==û                         # Push the string ")===)"
     ×                        # String multiply by the first input
      Ð                       # Triplicate the string
       ¬                      # Take the first character, which is a ')' and push
        '(:                   # Replace by '('
           s                  # Swap the top two elements
            )                 # Wrap everything into an array
             ¬g               # Get the length of the first element in the array
               '-×            # And repeat the character '-' that many times
                  =           # Print it without popping
                   ¸«         # Append the string of dashes to the array
                     »        # Join by newlines
                      ²F      # Second input times do...
                        =     #   Print the top of the stack without popping

সিপি -1222 এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


4

05 এ বি 1 ই , 32 30 বাইট

আদনানকে ধন্যবাদ 2 বাইট সংরক্ষণ করা ।

'-5×…)==ûÐ')'(:s)vy¹×})I.D¬)˜»

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

ব্যাখ্যা

'-5×                            # push "-----" 
    …)==ûÐ                      # push 3 copies of ")===)"
          ')'(:s                # replace ")" with "(" in the 2nd copy
                )               # wrap in list
                 vy¹×})         # repeat each list entry input-1 times
                       I.D      # repeat list input-2 times
                          ¬     # push the first element of the list ("-----")
                           )˜   # wrap in list and flatten
                             »  # join by newline

আপনি ")===)"দ্বারা প্রতিস্থাপন করতে পারেন …)==û:)
আদনান

@ আদনান: আহ অবশ্যই! ধন্যবাদ!
এমিগানা

3

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

def f(w,h):n=4*h+1;exec"n-=1;print'-)()-===-===-===-)()'[n%4::4]*w;"*n

4x বাইট বাঁচানোর জন্য @ xnor কে ধন্যবাদ!

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


দেখে মনে হচ্ছে লাইনগুলি আপনার পরীক্ষার ক্ষেত্রে বিকল্প দিক নির্দেশনা দেয় না।
xnor

মনে হচ্ছে এটি আরও [_::3]কম হবে।
xnor

ওহ গুলি, সেখানে কিছু ভুল হয়েছে। আমি এটি ঠিক না করা অবধি মুছে ফেলা হচ্ছে।
ডেনিস

এটি কোনও বাইট যুক্ত না করেই আমার কোডটি স্থির করেছে। ধন্যবাদ! আসুন দেখুন আমি আবার সেই লাইনগুলি অনুলিপি করতে পরিচালনা করি কিনা।
ডেনিস

আছে 2**n%5%3যা চক্র [1, 2, 1, 0, 1, 2, 1, 0, ...]। যে দরকারী হতে পারে?
xnor

3

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

w,h=input()
for a in'-()('*h+'-':print(a+3*'=-'[a>')']+a)*w

a+b*3+aপ্রাথমিক অক্ষর aএবং কেন্দ্রের অক্ষর b(যা থেকে গণনা করা হয় a) থেকে প্রতিটি লাইন উত্পন্ন করে । aমাধ্যমে এর চক্র '-()(', যেহেতু bহয় '-'যখন aহয় '-', এবং '='অন্যথায়।


67 বাইট:

w,h=input()
for a,b in['--']+zip(')()-','===-')*h:print(a+b*3+a)*w

তার বাইরের চরিত্র থেকে প্রতিটি লাইন উত্পন্ন aএবং কেন্দ্র চরিত্র bহিসাবে a+b*3+a, তারপর ছাপে wএই কপি। এই মাধ্যমে একটি চক্র zip


3

জাভাস্ক্রিপ্ট, 132 129 121 বাইট

-8 বাইটস @ ইউজার 2428118 ধন্যবাদ

(x,y)=>{a=b=["-----",")===)","(===(",")===)","-----"];for(i=0;++i<y;){b=[...b,...a.slice(1)]}return b.map(v=>v.repeat(x)).join(`
`)}

(x,y)=>eval('a=b=["-----",")===)","(===(",")===)","-----"];for(i=0;++i<y;)b=[...b,...a.slice(1)];b.map(v=>v.repeat(x)).join`\n`')

(x,y)=>eval('a=b=[c="-----",d=")===)","(===(",d,c];for(i=0;++i<y;)b=[...b,...a.slice(1)];b.map(v=>v.repeat(x)).join`\n`')

এটি সম্ভবত আরও গল্ফ করা যেতে পারে। আপনার যদি কোনও পরামর্শ থাকে তবে তা কমেন্টে রেখে দিন।


আমাকে 1 বাইট দিয়ে মারধর করুন .. :(
দেবআরিচার

@ DevRicher তবে আমার এখনও ঠিক গল্ফ হয়নি। :)
ericw31415

@devRicher আসলে আমি দুর্ঘটনাক্রমে নতুন লাইনটি মিস করেছি। উপস। সম্পাদনা: আমি এখন তোমাকে মারলাম
ericw31415

1
@ এরিকড৩৪১৪১৫ (x,y)=>eval('a=b=[d="-----",c=")===)","(===(",c,d];for(i=0;++i<y;)b=[...b,...a.slice(1)].map(v=>v.repeat(x)).join_ব্যাকটিক নিউলাইন ব্যাকটিক_;')
ব্যবহারকারীর ২৪২৮১১৮

@ user2428118 এটি কাজ করে না? যদিও আমি আপনার অ্যারে সরলীকরণটি ব্যবহার করতে পারি। :)
ericw31415


2

জাভাস্ক্রিপ্ট (ES6), 78

(x,y,r=s=>`${s}`.repeat(x)+`
`,a=r`)===)`,c=r`-----`)=>c+r(a+r`(===(`+a+c,x=y)

পরীক্ষা

F=
(x,y,r=s=>`${s}`.repeat(x)+`
`,a=r`)===)`,c=r`-----`)=>c+r(a+r`(===(`+a+c,x=y)

function update() {
  var x=+X.value,y=+Y.value
  O.textContent=F(x,y)
}

update()
X<input type=number id=X value=1 min=1 oninput='update()'>
Y<input type=number id=Y value=1 min=1 oninput='update()'>
<pre id=O></pre>


1

গেমমেকার ল্যাঙ্গুয়েজ, 160 139 148 বাইট 133 বাইট

x=argument0 y=argument1*4for(m=0;m<=y;m++){for(n=0;n<x;n++){a=")===)"if !m mod 4a="-----"else if n mod 2a="(===("r+=a}r+="#"}return r

এছাড়াও, আপনি এটির পরামর্শ দেওয়ার আগে,
জিএমএলটির

1

জেলি , 26 বাইট

4“\ḊƭVṠ’bị“-=()”s5ẋ€ḷẋµ1ịṭ

এটি একটি ডায়াডিক লিঙ্ক (ফাংশন) যা 2D অ্যারে প্রদান করে।

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

কিভাবে এটা কাজ করে

4“\ḊƭVṠ’bị“-=()”s5ẋ€ḷẋµ1ịṭ  Main link. Left argument: w. Right argument: h

4                           Set the return value to 4.
 “\ḊƭVṠ’b                   Yield 366323084456 and convert it to base 4.
                            This yields [1,1,1,1,1,0,2,2,2,0,3,2,2,2,3,0,2,2,2,0].
         ị“-=()”            Index into that string, using modular 1-based indexing.
                s5          Split the result into chunks of length 5.
                  ẋ€ḷ       Repeat the characters of each chunk w times.
                     ẋ      Repeat the array of chunks h times.
                      µ     Begin a new, monadic chain. Argument: M (bacon matrix)
                       1ị   Retrieve the first line.
                         ṭ  Tack; append it to M.

0

সি, 159 158 153 বাইট

p(s,n){printf(s,--n?p(s,n):0);}i,j;b(n,m){p("-----",n);for(j=3;j--;){p("\n",1);for(i=n;i--;)p(j%2?"(===(":")===)",1);}p("\n",1);--m?b(n,m):p("-----",n);}

সাথে কল করুন:

int main()
{
    b(2,3);
}

সি তে অন্য উত্তরটি দেখে ভাল লাগল, তবে এটি বেশ ছোট করা যায়, আমার উত্তরটি দেখুন :)
orlp

0

সি #, 160 বাইট

x=>y=>{int i=0,h=4*y+1,j;var s=new string[h];for(;i<h;++i)if(i%4<1)s[i]=new string('-',x*5);else{var c=i%2>0?')':'(';for(j=0;j++<x;)s[i]+=c+"==="+c;}return s;};

ফর্ম্যাট সংস্করণ:

x => y =>
{
    int i = 0, h = 4 * y + 1, j;

    var s = new string[h];

    for (; i < h; ++i)
        if (i % 4 < 1)
            s[i] = new string('-', x * 5);
        else
        {
            var c = i % 2 > 0 ? ')' : '(';

            for (j = 0; j++ < x; )
                s[i] += c + "===" + c;
        }

    return s;
};

এটি অনলাইন চেষ্টা করুন! (কোনও কারণে এই লিঙ্কটি একটি ত্রুটি দেয় তবে যেভাবে কাজ করে)



0

ডায়ালগ এপিএল, 55 বাইট

ডায়ালগ এপিএল ব্যবহার করার এটি আমার প্রথমবার, সুতরাং আমি নিশ্চিত যে এটি সর্বোত্তম পন্থা নয়।

 {(⊂'-----'),[1]⍉⍺(4×⍵)⍴')===)' '(===(' ')===)' '-----'}

ব্যাখ্যা: এটি একটি সহজ সরল পদ্ধতি, এন × এম এর বেকন গ্রিডের জন্য, আমি নীচের চারটি স্ট্রিংয়ের একটি এন × (4 এম) ম্যাট্রিক্স তৈরি করছি, পুনরাবৃত্তি করছি:

')===)'
'(===('
')===)'
'-----'

তারপরে আমি স্ট্রিংটি -----শুরুতে সংমিশ্রণ করি ।

কোডটির একটি দ্রুত ব্যাখ্যা এখানে দেওয়া হয়েছে:

')===)' '(===(' ')===)' '-----'  ⍝ An array of the four strings        

⍺ (4×⍵) ⍴                        ⍝ reshape (⍴) the array to a matrix with the dimensions
                                 ⍝ ⍺ by (4×⍵) (⍺ is the 1st argument and ⍵ is the second) 

⍉                               ⍝ transpose the matrix 

,[1]                             ⍝ concatenate to beginning of the matrix...

(⊂'-----')                       ⍝ ...the string '-----' embedded in its own matrix (⊂)


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