সারি, সারি, আপনার নৌকা সারি


26

নিম্নলিখিত গানের সাথে প্রত্যেকেই সম্ভবত পরিচিত , যা একটি বাদ্যযন্ত্র :

গানটি.

পটভূমি

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

চ্যালেঞ্জ

এই চ্যালেঞ্জটি হ'ল পাঠ্যটিকে ঠিক যেমনভাবে আউটপুট করা হয়:

Row, row, row your boat,           |-----------------------------------|-----------------------------------|-----------------------------------
Gently down the stream.            |Row, row, row your boat,           |-----------------------------------|-----------------------------------
Merrily, merrily, merrily, merrily,|Gently down the stream.            |Row, row, row your boat,           |-----------------------------------
Life is but a dream.               |Merrily, merrily, merrily, merrily,|Gently down the stream.            |Row, row, row your boat,           
-----------------------------------|Life is but a dream.               |Merrily, merrily, merrily, merrily,|Gently down the stream.            
-----------------------------------|-----------------------------------|Life is but a dream.               |Merrily, merrily, merrily, merrily,
-----------------------------------|-----------------------------------|-----------------------------------|Life is but a dream.               

বিধি

  • শ্বেত স্পেস অনুসরণ করা গ্রহণযোগ্য, তবে প্রয়োজনীয় নয়, এর মধ্যে রয়েছে নতুন লাইন।
  • হাইফেন এবং বারগুলি প্রয়োজনীয় আউটপুটের অংশ, হ্যাঁ।
  • কমা, পিরিয়ডস, ক্যাপিটালাইজেশন এবং ব্যাকরণের সাথে সম্পর্কিত সমস্ত সিনট্যাক্টিকাল উপাদানগুলির প্রয়োজন।

এটি , মানক লুফোলগুলি ব্যবহার না করে সর্বনিম্ন বাইট-কাউন্ট কোডটি বিজয়ী।


2
আমি কেবল বলতে চাই, আমি আপনার বৃহত্তর কলমোগোরভ-জটিলতা এবং আসকি -শিল্প চ্যালেঞ্জগুলি উপভোগ করছি ! এই এক এবং এতগুলি বাস্তব কীবোর্ড উভয়ই এর জন্য সমাধান লিখতে অত্যন্ত মজাদার। :)
ডিজেএমসিএমহেম

2
@ ডিজেএমসিমেহেম এই সাইটটি সন্ধান করার পর থেকে আমি আমার দৈনন্দিন জীবনে এলোমেলোভাবে চ্যালেঞ্জগুলি দেখি এবং আমার যে ধারণাগুলি পাওয়া যায় তার জন্য একটি ছোট নোটপ্যাড রাখি, আমি মজা করার চেষ্টা চালিয়ে যাব!
যাদু অক্টোপাস উরন

উত্তর:


12

05AB1E , 80 77 বাইট

“¢ã,¢ã,¢ã€žžÄ,““èî„‹€€šæ.“"merrily, "4ר“‚쀈€³€…žâ.“'-35×Ð)€ª.B3FDÁ})øvy'|ý,

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

কাজ চলছে.


অভিধানটিতে "05AB1E" না থাকায় আমি বেশ অভিভূত হয়েছিলাম। এটি শুভ জন্মদিনের 05AB1 দক্ষতার সাথে গাইতে এটি অসম্ভবকে ঘিরে রেখেছে। শীতল উত্তর যদিও, আশা ছিল একটি অভিধান-বেস 05AB1E উত্তর হাহা দেখার জন্য। এছাড়াও ডিজেএমসিহেম সঠিক, এটিও ঠিক।
ম্যাজিক অক্টোপাস উরন

দাঁড়াও, কী ª? কিছুই নয়, বাক্য কেসড, উজ্জ্বল।
ম্যাজিক অক্টোপাস উরন

@ কারাসোকম্পিউটিং: হ্যাঁ, আমি সম্প্রতি দেখেছি যে এটি বিদ্যমান। অতীতে এটি বেশ কয়েকবার প্রয়োজন হয়েছে: পি
এমিগানা

vyʒএকটি বাইট সংরক্ষণ করা যেতে পারে ।
কেভিন ক্রুইজসেন

10

ভি , 139 , 128 বাইট

iLife is but a dream ±µ |4amerrily, x7b~A|Gently down the stream.±² |3arow, X5b~Ayour boat,±± |3I³µ-|3AòÄó.û-}|ò5DÎ4f|C|

ওয়ান লাইনার! (বাছাই: পি)

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

Hexdump:

00000000: 694c 6966 6520 6973 2062 7574 2061 2064  iLife is but a d
00000010: 7265 616d 20b1 b520 7c1b 3461 6d65 7272  ream .. |.4amerr
00000020: 696c 792c 201b 7837 627e 417c 4765 6e74  ily, .x7b~A|Gent
00000030: 6c79 2064 6f77 6e20 7468 6520 7374 7265  ly down the stre
00000040: 616d 2eb1 b220 7c1b 3361 726f 772c 201b  am... |.3arow, .
00000050: 5835 627e 4179 6f75 7220 626f 6174 2cb1  X5b~Ayour boat,.
00000060: b120 7c1b 3349 b3b5 2d7c 1b33 4101 1bf2  . |.3I..-|.3A...
00000070: c4f3 2efb 2d7d 7cf2 3544 ce34 667c 437c  ....-}|.5D.4f|C|

আমি ঠিক অবতরণ করার জন্য বোনাস পয়েন্ট পেতে পারি 2^7?

এটি বের করতে কিছুক্ষণ সময় নিল। আমি আশা করছি আমি আমার কীবোর্ড ASCII আর্ট উত্তরটির মতো গল্ফ টন বন্ধ করতে পারি, তবে আমি নিশ্চিত নই। আমরা দেখব. এগুলি খুব অনুরূপ চ্যালেঞ্জ (এবং উভয়ই খুব মজাদার: ডি)

মূলত আমি এটি চেষ্টা করেছি (180):

3irow, ch your boat,±± ||"rCLife is but a dream.±µ ||"lD4imerrily, r||"mCGently down the stream.±² ||"gC³µ-|B"dCR³D
GRDD
MGRD
LMGR
DLMG
DDLM
³DLÍR/r
ÍG/g
ÍM/m
ÍL/l
ÍD/d

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

যা এটি প্রবেশ করায়:

RDDD
GRDD
MGRD
LMGR
DLMG
DDLM
DDDL

এবং তারপরে এটি প্রসারিত করতে প্রতিস্থাপন করে। তবে এটি শৈলী তৈরি করা অনেক খাটো (এবং আরও মজাদার টিবিএইচ)


আপনি হা হা 0^(2^7)অবতরণ জন্য বোনাস পয়েন্ট পেতে 2^7। 180 সংস্করণে যদিও আকর্ষণীয় প্রথম।
যাদু অক্টোপাস উরন

1
@ কারাসোকম্পুটিং ওউ, কেন তাকে (2 ^ 7) / 0 বোনাস পয়েন্ট দেবেন না?
ম্যাথু রোহ

6

ব্যাচ, 292 288 275 বাইট

@set d=-------
@set "d=%d%%d%%d%%d%%d%^|
@set "m=M_ m_ m_ m_^|
@set "s=           ^|
@set "s=Life is but a dream.    %s%%m:_=errily,%Gently down the stream. %s%Row, row, row your boat,%s%%d%%d%%d%"
@for /l %%i in (1,1,6)do @call:c
:c
@echo %s:~111,146%
@set "s=%d%%s%

সম্পাদনা করুন: আমি আমার রেটিনা উত্তরে ব্যবহৃত সাবস্ট্রিং ট্রিকের একটি সংস্করণ ব্যবহার করতে কোডটি পুনরায় লিখে 13 বাইট সংরক্ষণ করেছেন। সুবিধামতোভাবে আমি ছয় বার লুপ করতে পারি এবং তারপরে লুপ বডিটির সপ্তম পুনরাবৃত্তির মধ্য দিয়ে পড়তে পারি, যার অর্থ আউটপুট |s এর জন্য প্রয়োজনীয় উদ্ধৃতিটি খুব বেশি উত্সাহী হয় না, তবে ^সাবস্ট্রিং নির্বাচন করার সময় আমাকে অ্যাকাউন্টে নেওয়া সতর্কতা অবলম্বন করতে হবে ।


6

পাইথন 3, 252 235 208 206 205 বাইট

ঠিক আছে, ঠিক আছে। এখানে কম বিরক্তিকর উত্তর:

w=' '*11
t=["Row, row, row your boat,"+w,"Gently down the stream. "+w,"Merrily,"+" merrily,"*3,"Life is but a dream.    "+w,*['-'*35]*3]
for a in zip(*[t[z:]+t[:z]for z in range(7,3,-1)]):print(*a,sep='|')

পুরানো উত্তর, 252 বাইট:

বিরক্তিকর উত্তর, এবং অন্য পাইথনের উত্তরটি সংক্ষিপ্ত, তবে আমি ভেবেছিলাম এই পদ্ধতির সংক্ষিপ্ততাটি যদি চেষ্টা করি তবে চেষ্টা করব। পাইথন 3 বাইট / স্ট্রিং সঞ্চয় 2-3 পার্থক্য সত্ত্বেও কারণ তাদের উভয়ই gzipএবং base64পাইথন 2 shittier হয়।

from base64 import*
from gzip import*
print(decompress(b85decode('ABzY8Fgf~I0{;ujFV|5hf)Waq`K3h)N%@H-ItmC-qe~c2OAVKMYF<fBr9w)6d7eT^Myf(_Nl|KIuATz2dxGfaW-i~<qN2>4N*#q<oQxVex|z!-Gc8pivsfXiv_v6MAqB%CkU6w=GZ!&|OJj#}Q7chW$(>wu%p_Rd3;?AKH=M}>000')).decode())

মূল দৈর্ঘ্যের 25%, বেশ চিত্তাকর্ষক, তবে আপনি আরও স্মার্ট হতে পারেন এবং কেবল প্রথম পুনরাবৃত্তিকে সংকুচিত করতে পারেন, নতুন লাইনে বিভক্ত হয়ে 4 শিফট সম্পাদন করতে পারেন। এটি সম্ভবত পাইথনের অন্যান্য বাস্তবায়নকে পরাজিত করবে। বিবেচনা করার চিন্তাভাবনা। আমি -১ এক ছিলাম না, কে করল জানি না।
ম্যাজিক অক্টোপাস উরন

পছন্দ করুন আমি সত্যিই আগ্রহী ছিলাম যে মিলটি এমনভাবে চালিত হয় যা এই ধরণের একটি অতিরিক্ত রিন্ডন্ড্যান্ট ফিক্সড আউটপুট টাস্কটিতে ভালভাবে কাজ করে। আমার উত্তরটি সংক্ষিপ্ত, কম বোবা এক হিসাবে রূপান্তরিত।
L3viathan

আপনি কি আবার সংক্ষেপে সম্পাদনা করতে পারেন? আমি, ব্যক্তিগতভাবে, এই পদ্ধতিকে আকর্ষণীয়ও পেয়েছি। যথা সরল জিজিপের মাধ্যমে বাইট-কাউন্টটি কত কম। প্রচেষ্টাটি নির্বিশেষে এটি অবশ্যই হাফম্যান বা কিছু ... +1 ব্যবহার করবে।
ম্যাজিক অক্টোপাস উরন

1
@ কারাসোকম্পুটিং আমি অনুমান করি এটি নীচে যুক্ত করব। এছাড়াও, আমি মনে করি এটি ডিফল্টের হাফম্যান অংশ নয় যা এটি তুলনামূলকভাবে দুর্দান্ত করে তুলছে, তবে এলজেড অংশ।
L3viathan

1
@ জোনাথান অ্যালান সত্যিই, আমি এটি মিস করেছি। স্থির, একটি বাইট হারিয়েছে।
L3viathan

5

পাওয়ারশেল , 224 207 202 বাইট

$a=' '*11;0..6|%{((0..4+4+4)[($_,($_+=6),--$_,--$_|%{$_%7})]|%{("Row, row, row your boat,$a","Gently down the stream.$a ","Merrily,$(' merrily,'*3)","Life is but a dream.$a    ",('-'*35))[$_]})-join'|'}

এটি অনলাইন চেষ্টা করুন! (আপনার স্ক্রিন যথেষ্ট প্রশস্ত না হলে আউটপুট মোড়ানো হবে)

ভাল দুঃখ, এই অ্যারে প্রজন্মের জিনিসটি কুৎসিত, তবে এটি 17 বাইট সংরক্ষণ করেছে, তাই ...

0..6|%{((0..4+4+4)[($_,($_+=6),--$_,--$_|%{$_%7})]

আমরা থেকে লুপ 0থেকে 6। প্রতিটি পুনরাবৃত্তি, আমরা একটি অ্যারে সূচক করছি (0,1,2,3,4,4,4)। ইন্ডেক্স বর্তমান অঙ্ক, বর্তমান অঙ্ক উপর ভিত্তি করে তৈরি +6, যে -1, এবং তারপর যে -1 । প্রত্যেকটি তারপর একটি লুপ যেখানে আমরা সঙ্গে modulo মাধ্যমে খাওয়ানো হয় %7। উদাহরণস্বরূপ, যদি আমারা আছি 0বাইরের এর 0..6লুপ, তবে এই হবে 0,6,5,4তারপর, প্রতিটি %7, তাই 0,6,5,4। এটি (0,1,2,3,4,4,4)অ্যারেতে সূচিযুক্ত তাই আউটপুট 0,4,4,4। ইনপুট জন্য 1আমরা 1,7,6,5তারপর 1,0,6,5যা ফলন পেতে 1,0,4,4। ইত্যাদি। (আমাদের যদি কোনও .clampফাংশন থাকে তবে জিনিসগুলি এত সহজ হত )

এগুলি লুপের মধ্যে একসাথে থুতু হয় |%{}। প্রতিটি পুনরাবৃত্তি, আমরা গানের লিরিক্স-অ্যারে যথাযথ স্পটে সূচক করি এবং পাইপলাইনে সেই স্ট্রিংটি রেখে যাই। এই স্ট্রিংগুলি পরে আউটপুট লাইনের ফর্ম্যাট করতে -joinএকসাথে এড করা হয় |। এই স্ট্রিংগুলি পাইপলাইনে রেখে গেছে এবং আউটপুট অন্তর্ভুক্ত।

মান কালি ধন্যবাদ কিছু বাইট সংরক্ষণ করা।


আপনি ইতিমধ্যে $a11 টি স্পেসে সংরক্ষণ করেছেন তা বিবেচনা করে , আপনি চতুর্থ লাইনটি -3 বাইটের $aপরিবর্তে প্লাস 4 স্পেসে শেষ করতে পারেন $(' '*15), হ্যাঁ?
মূল্য কালি

4

জাভাস্ক্রিপ্ট (ES8), 285 256 240 231 229 217 214 213 211 210 বাইট

_=>"0444104421043210432144324443".replace(/./g,(x,y)=>a[x].padEnd(35)+`
|||`[++y&3],a=["Row, row, row your boat,","Gently down the stream.","Merrily,"+(m=" merrily,")+m+m,"Life is but a dream.","-".repeat(35)])

আরনাউল্ডের উত্তর থেকে কৌতুক ধার করে কয়েকটা বাইট সংরক্ষণ করা


এটি চেষ্টা করুন

f=

_=>"0444104421043210432144324443".replace(/./g,(x,y)=>a[x].padEnd(35)+`
|||`[++y&3],a=["Row, row, row your boat,","Gently down the stream.","Merrily,"+(m=" merrily,")+m+m,"Life is but a dream.","-".repeat(35)])

o.innerText=f()
<pre id=o>


1
'0444,1044,2104,3210,4321,4432,4443'.split, .mapআপনার 10 বাইট সংরক্ষণ করে। এছাড়াও, padEndES6 বা এমনকি ES7 এর অংশ নয়।
নীল

ওফস, এটি ES8 এ আপডেট করার উদ্দেশ্যে - ধন্যবাদ, @ নীল। এবং টিপটির জন্য ধন্যবাদ, তবে আমি অন্য একটি সমাধান নিয়ে কাজ করার প্রক্রিয়াতে ছিলাম যা আমার 12 বাইট সংরক্ষণ করেছিল।
শেগি

4

পিএইচপি, 191 বাইট

for(;$n<7;$n++)for($m=0;$m<4;)echo $m?"|":"\n",str_pad($i=["Row, row, row your boat,","Gently down the stream.",M.($t="errily,")." m$t m$t m$t","Life is but a dream."][$n-$m++],35," -"[!$i]);

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

সম্প্রসারিত

for(;$n<7;$n++)
  for($m=0;$m<4;)
    echo $m?"|":"\n"
     ,str_pad($i=["Row, row, row your boat,","Gently down the stream."
       ,M.($t="errily,")." m$t m$t m$t","Life is but a dream."][$n-$m++]
       ,35," -"[!$i]);

প্রতিধ্বনি থেকে বন্ধনীগুলি সরিয়ে আপনি একটি চরিত্র সংরক্ষণ করতে পারেন (এটি কোনও ফাংশন নয়)
রবি অ্যাভারিল

@ রবিবিভারিল আমি জানি তবে বন্ধনীগুলির মধ্যে একটি চৌকস অপারেটর অন্তর্ভুক্ত রয়েছে এবং আমি কেবল এটিই সরিয়ে ফেলতে পারলাম আমি কমা দিয়ে পয়েন্টটি প্রতিস্থাপন করেছি
জার্গ হালসারম্যান

3

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

w=' '
s=['-'*35]
t=['Row, row, row your boat,'+w*11,'Gently down the stream.'+w*12,'Merrily,'+' merrily,'*3,'Life is but a dream.'+w*15]
print'\n'.join(map('|'.join,zip(t+s*3,s+t+s+s,s+s+t+s,s*3+t)))

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


14 মাইট সংরক্ষণের জন্য @ মাতজানকি ধন্যবাদ


'Merrily, merrily, merrily, merrily,'('merrily, '*4).capitalize()সঠিক হতে পারে ? নাকি তা পাইথন নয়?
যাদু অক্টোপাস উরন

2
বা আরও ছোট,'Merrily,'+' merrily,'*3
গণিত জাঙ্কি

2

সিজেম , 128 122 বাইট

"Row, row, row your boat,""gently down the stream."'M" merrily,"4*2>+"Life is but a dream."'-35*__]{35Se]}%a4*4,.m>z'|f*N*

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

ব্যাখ্যা

"Row, row, row your boat,"  e# Push this string.
"gently down the stream."   e# Push this string.
'M                          e# Push the character 'M'.
" merrily,"4*               e# Push the string " merrily, merrily, merrily, merrily,".
2>+                         e# Remove the first two letters of it, and append it to 'M',
                            e#   fixing the capitalization.
"Life is but a dream."      e# Push this string.
'-35*__                     e# Push a string containing 35 hyphens and make two copies of it.
]                           e# Collect all these strings in an array.
{35Se]}%                    e# Pad each of them to length 35 by adding spaces to the right.
a4*                         e# Repeat the array 4 times.
4,                          e# The range [0 1 2 3].
.m>                         e# Rotate each subarray of strings rightward by the corresponding
                            e#   number in the range.
z                           e# Transpose the array.
'|f*                        e# Join the strings on each row with '|' characters.
N*                          e# Join the rows together with newlines.

2

এসওজিএল , 83 বাইট

┌׀0ρMVxDrž|⁷ΨB≈π93|↑D~Ν퉤t╤▼ΣΗ⁶⅔¾№⁷Ζ÷│²╥Ν9°‘-”)0ΔH«‘4*jŗ"ΣΨ¬¹‘4*;+7{’⁄{»}⁽:’∞n1wpX

1 ম অংশটি ┌׀0ρMVxDrž|⁷ΨB≈π93|↑D~Ν퉤t╤▼ΣΗ⁶⅔¾№⁷Ζ÷│²╥Ν9°‘একটি সংকুচিত স্ট্রিং যার ফলস্বরূপ

`life is but a dream.               |-|gently down the stream.            |row, row, row your boat,           |`

এই লাইনগুলি বিপরীত হয়েছে (যেহেতু এটি তাদের লাইন-বাই-লাইনে প্রিন্ট করছে) প্রোগ্রামটিতে প্রতিস্থাপনের জন্য "মরিলি" অংশটি কেটে দেওয়া হয়েছে।
প্রোগ্রামের বাকি:

...‘                                        Push the compressed string
      )0ΔH«‘                                push "merrily, "
            4*                              repeat it 4 times
              j                             take the last letter off
    -”         ŗ                            replace "-" with the merrily line
                "ΣΨ¬¹‘                      push 35 dashes with an appending "|"
                      4*                    repeat it 4 times
                        ;+                  add inverted ("---|---..."+"Life is but a dream  ...")
                                            The resulting string of above is "-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|life is but a dream.               |merrily, merrily, merrily, merrily,|gently down the stream.            |row, row, row your boat,           |"
                          7{                repeat 7 times
                            ’⁄{»}            rotate right 35 times
                                 ⁽           uppercase the 1st letter
                                  :          duplicate
                                   ’∞n       split into parts of length 135
                                      1w     get the 1st one
                                        p    output that
                                         X   delete the splat array


2

পিএইচপি, 179 বাইট:

for($m="errily,";$i<28;)echo str_pad($s=["Row, row, row your boat,","Gently down the stream.","M$m m$m m$m m$m","Life is but a dream."][($i>>2)-$i%4],35," -"[!$s]),"
|||"[++$i%4];

ungolfed

for($i=0;$i<28;$i++)
{
    $x=$i%4;
    $y=$i>>2;

    $s=["Row, row, row your boat,",
        "Gently down the stream.",
        M.($m="errily,")." m$m m$m m$m",
        "Life is but a dream."
    ][$y-$x];

    $pad_string = $s ? " ":"-";
    $postfix = $x<3 ? "|" : "\n";
    echo str_pad($s,35,$pad_string),$postfix;
}

2

জাভাস্ক্রিপ্ট (ECMAScript 2017), 191 187 182 বাইট

শেগিকে ধন্যবাদ 3 বাইট সংরক্ষণ করা হয়েছে

f=(i=27,s=['Life is but a dream.','Merrily,'+(m=' merrily,')+m+m,'Gently down the stream.','Row, row, row your boat,'][(i>>2)-i%4]||'')=>i?s.padEnd(35,' -'[+!s])+`
|||`[i&3]+f(i-1):s

o.innerHTML = f();
<pre id=o style="font-size:10px"></pre>


আমি মনে করি 'Merrily,'+' merrily,'.repeat(3)একটি বাইট সংরক্ষণ করে
নীল

ওহ, এবং আমি উল্লেখ করতে ভুলে গেছি যে padEndES7 এ নয়, ES6 ছেড়ে দিন।
নীল

1
M${s='errily, '}m${s}m${s}mM${s='errily,'} m${s} m${s} m2 বাইট সংরক্ষণের পরিবর্তে
লুক

1
এর সাহায্যে 3 টি বাইট সংরক্ষণ করতে পারবেন "Merrily,"+(s=" merrily,")+s+s
শেগি

1
পছন্দ করুন এটি সেরা বিকল্প বলে মনে হচ্ছে। ধন্যবাদ!
আর্নল্ড

2

মাইক্রোসফ্ট SQL সার্ভার, 421 বাইট

with v as(select left(s+space(35),35)s,n from(values('Row, row, row your boat,',1),('Gently down the stream.',2),('Merrily, merrily, merrily, merrily,',3),('Life is but a dream.',4))t(s,n))select isnull(v.s,s.s)+'|'+isnull(b.s,s.s)+'|'+isnull(c.s,s.s)+'|'+isnull(d.s,s.s)from v full join v b on v.n=b.n+1 full join v c on b.n=c.n+1 full join v d on c.n=d.n+1 cross apply(select replicate('-',35)s)s order by isnull(v.n,9)

এটি অনলাইন দেখুন


আমি এটা ভালোবাসি. ডাটাবেস আমার বার্তা!
জহিরো মোড়

2

সি (জিসিসি), 231 230 বাইট

-1 বাইট ধন্যবাদ সিলিংক্যাটকে!

#define m"errily, "
char s[7][35]={"Life is but a dream.","M"m"m"m"m"m"m"m,"Gently down the stream.","Row, row, row your boat,"};f(l,c){memset(s[4],45,'k');for(l=7;l--;)for(c=0;c<4;)printf("%-35.35s%c",s[(4+l+c++)%7],"|||\n"[c]);}

অনেকটাই অকপট. প্রথমে এটি 7 লাইনগুলির স্ট্রিং অ্যারে তৈরি করে, ম্যাক্রোর মাধ্যমে অংশটি "মেরিলি" অংশটি নির্ধারণ করার জন্য, তারপরে ড্যাশগুলির লাইনগুলি একটি দিয়ে পূরণ করা হয় memset। তারপরে লাইনগুলি পর্যাপ্ত অফসেট এবং বিভাজকগুলি দিয়ে মুদ্রিত হয়।

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


ধন্যবাদ!
কোয়ান্টিন

1

ম্যাটল্যাব, 280 বাইট

a='errily,';
z={'Row, row, row your boat,';'Gently down the stream.';['M',a,' m',a,' m',a,' m',a];'Life is but a dream.'};
z{5}(1:35)='-';
y=5*ones(7,4);
for j=1:4;z{j}(end+1:35)=' ';y(j:j+3,j)=(1:4)';end
x=z(y);
for j=1:7;fprintf('%s|%s|%s|%s\n',x{j,1},x{j,2},x{j,3},x{j,4});end

সেল অ্যারে সূচকটি বেশ ব্যয়বহুল, এটি কিছু বাইট (যদি সম্ভব হয়) ফেলে দেওয়ার সবচেয়ে সহজ জায়গা বলে মনে হয়।


সাইটে স্বাগতম!
ডিজেএমসিএমহেম

1

রেটিনা , 153 150 বাইট


<-|>Life is but a dream.15|M!< m!>|Gently down the stream.12|Row, row, row your boat,11<|->
<(.*?)>
$1$1$1
!
errily,
-
35$*-
\d+
$* 
r!&`.{71}\|.{71}

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

আমি নির্বিচারে রান-লেংথ এনকোডিং চেষ্টা করেছি কিন্তু $1$*$2আমি যা চাই তা করি না এবং বার বার করা স্ট্রিংগুলি খুব জটিল প্রমাণিত। সম্পাদনা করুন: এনকোডিং করে 2 বাইট errily,এবং একটি অপ্রয়োজনীয় অপসারণ করে 1 বাইট সংরক্ষণ করা হয়েছে ^




1

সুইফ্ট , 416 406 405 380 372 307 বাইট

var f=String.init(repeating:count:);_={[[0,4,4,4],[1,0,4,4],[2,1,0,4],[3,2,1,0],[4,3,2,1],[4,4,3,2],[4,4,4,3]].forEach{print($0.map{["Row, row, row your boat,"+f(" ",11),"Gently down the stream."+f(" ",12),"Merrily,"+f(" merrily,",3),"Life is but a dream."+f(" ",15),f("-",35)][$0]}.joined(separator:"|"))}}

আপনি এটি এখানে চেষ্টা করতে পারেন ।

@ মিঃ কে ধন্যবাদ আমাকে 65 বাইট বাঁচানোর জন্য এক্সকোডার!


1
একটি দ্রুত উত্তর দেখতে দুর্দান্ত!
গন্ধক পাথর

1
আপনি fvar f=String.init(repeating:count:)
নীচেরটির

1
এছাড়াও, স্যান্ডবক্সে আপনার উচিত নয় print(o()), আপনাকে কেবল কল করা উচিত o()কারণ আপনার printভিতরে একটি বিবৃতি রয়েছে যা ()আউটপুট শেষে দেয়
মিস্টার এক্সকোডার

1
এছাড়াও, অপ্রয়োজনীয় সাদা স্থান সরিয়ে ফেলুন। এটি প্রচুর বাইট সংরক্ষণ করবে। আমি একটি উন্নত সংস্করণ মন্তব্য করব।
মিঃ এক্সকডার

1
এখানে একটি উন্নত সংস্করণ, 309 বাইট। এটি 63৩ বাইট সংক্ষিপ্ত এবং গল্ফ করা যেতে পারে, আমি বিশ্বাস করি
মিঃ এক্সকোডার

1

টি-এসকিউএল, 296 277 276 বাইট

PRINT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('1|0|0|0
2|1|0|0
3|2|1|0
4|3|2|1
0|4|3|2
0|0|4|3
0|0|0|4',0,REPLICATE('-',35))
        ,1,'Row, row, row your boat,6')
        ,2,'Gently down the stream. 6')
        ,3,'M5 m5 m5 m5')
        ,4,'Life is but a dream.    6')
        ,5,'errily,')
        ,6,SPACE(11))

শুরুতে লাইন ব্রেকগুলি মূল স্ট্রিংয়ের অংশ, প্রান্তের কাছাকাছি রেখা বিরতিগুলি কেবল প্রদর্শনের উদ্দেশ্যে, এবং বাইট মোটের দিকে গণনা করা হয় না।

কনরেড স্পার্কলপোনির উত্তর দ্বারা মূলত অনুপ্রাণিত । আন্দ্রে ওদেগোভের এসকিউএল উত্তরের চেয়ে আলাদা কৌশল ।

বেশ সোজা-ফরোয়ার্ড মাল্টি-রিপ্লেসমেন্ট, তবে কয়েকটি জিনিস যা বাইট সংরক্ষণে সহায়তা করে:

  • এসকিউএল মূল স্ট্রিংয়ে লাইন বিরতি দেয়
  • অক্ষরের পরিবর্তে অঙ্কগুলি ব্যবহার করা আমাকে একক উদ্ধৃতিগুলির পুরো গুচ্ছটি অপসারণ করতে দেয়
  • নেস্টেড প্রতিস্থাপন (৫ এবং)), আমাকে আরও বেশি বাইট সংরক্ষণ করুন (ধন্যবাদ, @ t-clausen.dk)

আমি যদি ছোট কিছু দিয়ে REPLACEসমস্ত করতে পারি REPLACE। হুম ....


1
আপনি যদি নিজের পদ্ধতি ব্যবহার করে 11,12,15 স্থানটি প্রতিস্থাপন করেন তবে আপনি 1 বাইট সংরক্ষণ করতে পারবেন
t-clausen.dk

1

জাপট -R , 99 95 94 92 90 89 87 বাইট

R³i`Life  ¿t a Ým.
M{34î`Îk, m`}
Gt§ ܵ e Ðpam.
Row, w, w yr ¾,`ú)·ú-
£éY Ťq|

চেষ্টা করে দেখুন

R³i`L...{34î`...`}...,`ú)·ú-
R                                :Newline
 ³                               :Repeat 3 times
  i                              :Prepend
   `                             :  Decompress
    L...                         :    "Life is but a dream.\nM"
        {                        :    Interpolate
         34î                     :      Repeat & slice to length 34
            `...`                :        The compressed string "errily, m"
                 }               :    End interpolation
                  ...,           :    "\nGently down the stream.\nRow, row, row your boat,"
                      `          :  End decompression
                       ú         :  Right pad each line with spaces to the length of the longest
                        )        :End prepend
                         ·       :Split on newlines
                          ú-     :Right pad each element with "-" to the length of the longest
£éY Ťq|                         :Assign the above to U
£                                :Map each element at 0-based index Y
 éY                              :  Rotate U right Y times
    Å                            :  Slice off the first element
     ¤                           :  Slice off the first two elements
      q|                         :  Join with "|"
                                 :Implicit output, joined with newlines

0

রুবি, 162 বাইট

7.times{|i|puts (~i..~i+3).map{|j|[*[?-*35]*3,"Life is but a dream.",?M+['errily,']*4*" m","Gently down the stream.","Row, row, row your boat,"][j].ljust(35)}*?|}

0

জাভা, 295 বাইট / 272 259 বাইট

প্রতি 4 কলামে নিউলাইনগুলি সহ (295 বি)

void r(){String m=" merrily,",t="-------",s="     ",e=t+t+t+t+t;String[]v={"Gently down the stream.  "+s+s, "Merrily,"+m+m+m, "Life is but a dream."+s+s+s, e, e, e, "Row, row, row your boat, "+s+s};for(int i=0;i<7;i++){for(int j=6+i;j>2+i;j--)System.out.print(v[j%7]+'|');System.out.println();}}

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

কোনও নতুন লাইনের সংস্করণ নেই (259 বি):

void r(){String m=" merrily,",t="-------",s="     ",e=t+t+t+t+t;String[]v={"Gently down the stream.  "+s+s, "Merrily,"+m+m+m, "Life is but a dream."+s+s+s, e, e, e, "Row, row, row your boat, "+s+s};for(int i=0;i<28;i++)System.out.print(v[(6-i%4+i/4)%7]+'|');}
  • 1 এ লুপের জন্য 2 কনডেন্সড

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





0

রুনিক এনেক্যান্টমেন্টস , 292 বাইট

B͍"-"'#*"|"3s
"Row, row, row your boat,"b" "S*q"|"3sB͍>01B10B3*1-akr@>12B01B10B2*1-akr@>13B12B01B10B1-akr@>14B13B12B01B1-akr@>10B3*14B1-r0[10B2*14B13B1-akr0[10B14B13B12B1-akr]]@
B͍"Gently down the stream."c" "S*q"|"3s
B͍"Merrily,"3" merrily,"S*q"|"3s
B͍"Life is but a dream."f" "S*q"|"3s

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

আমি সাধারণত চ্যালেঞ্জগুলি করি না, তবে বিন্যাসটি এমন ছিল যা আমি খুব বেশি ঝামেলা ছাড়াই কাজ করতে পারি। রানিকের স্বেচ্ছাচারী স্ট্রিংগুলি সংকোচন করার ভাল উপায় নেই, সুতরাং আমাদের যে সমস্ত কাজ করতে হবে তা হ'ল পুনরাবৃত্তিযুক্ত অংশ।

ব্যাখ্যা:

সামান্য সঙ্কুচিত:

B͍"-"'#*"|"3s
B͍"Row, row, row your boat,"b" "S*q"|"3s
B͍"Gently down the stream."c" "S*q"|"3s
B͍"Merrily,"3" merrily,"S*q"|"3s
B͍"Life is but a dream."f" "S*q"|"3s
>11B10B3*1-akr@
>12B11B10B2*1-akr@
>13B12B11B10B1-akr@
>14B13B12B11B1-akr@
>10B3*14B1-r0[10B2*14B13B1-akr0[10B14B13B12B1-akr]]@

প্রথম 5 লাইন গানের প্রতিটি অংশ তৈরি করতে ফাংশন হিসাবে কাজ করে (যেখানে প্রথম লাইনটি 2 বাইট ওভার সাশ্রয়ের -দশমিক মান ব্যবহার করে স্পেসারের জন্য 35 উত্পন্ন #করে 3X5+)। ফাংশনটি আয়তক্ষেত্রাকার এবং খালি কোষগুলি হওয়ায় আইপি মার্জ হওয়া (আউটপুটের লাইনগুলি হারিয়ে যাওয়ার ফলে) এড়াতে একই পরিমাণে চক্রের পরে একই সংখ্যার চক্রের পরে ফাংশনটি ছেড়ে দেবে তা নিশ্চিত করার জন্য ফেরতের নির্দেশটি লাইনের শুরুতে রয়েছে অন্তর্নিহিত হয়

পরবর্তী চারটি লাইন আউটপুট প্রথম চার লাইন মুদ্রণের জন্য দায়ী

পঞ্চম লাইন তারপরে আউটপুটটির সর্বশেষ 3 লাইন মুদ্রণ করে। কমপক্ষে একটি স্টাঞ্জা-স্পেসার দিয়ে শুরু হওয়া তিনটি লাইনের কারণে 3 টি পৃথক আইপি ব্যবহার করা সম্ভব নয় (কারণ তাদের মার্জিং এড়াতে বিলম্বের প্রয়োজন হবে)। >, y, @, এবং একটি newline খরচ বাইট (4) চেয়ে 0[...](3 বাইট) যেখানে ...নির্বিচারে নির্দেশাবলী (অর্থাত। আউটপুট আরেকটি লাইন) হয়।

বিপরীতে প্রতিস্থাপন >এবং @একটি আইপি ব্যবহার করতে আরও বাইট প্রয়োজন।

শেষ অবধি, দ্বিতীয় লাইনটিতে পাঁচটি এন্ট্রি-পয়েন্ট লাইন একত্রিত করা 5 বাইটের নতুন লাইনের সাশ্রয় করে। আমাদের কেবল এটি নিশ্চিত করতে হবে যে র‌্যাঞ্চ-রিটার্ন নির্দেশাবলী প্রথমে ফাংশনের কার্যকারিতা সংরক্ষণ করে তার লাইনের শেষ দিকে চলে যায়।

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