একটি পতাকা তরঙ্গ করুন


26

এটির মতো একটি পতাকা নিন:

-----------------------------
|             |             |
|             |             |
|=============+=============|
|             |             |
|             |             |
-----------------------------

এবং একটি সংখ্যা ইনপুট: "তরঙ্গ দৈর্ঘ্য"

বলুন তরঙ্গের দৈর্ঘ্য 5 ছিল। তারপরে শুরু থেকে প্রতিটি 5 টি অক্ষর রেখাটি পরবর্তী অক্ষরটিকে একটি -দিয়ে প্রতিস্থাপন করুন \এবং সমস্ত অক্ষরকে এক সারি নীচে স্থানান্তরিত করুন। শেষ পর্যন্ত এটি পুনরাবৃত্তি করুন। আপনি এখানে দিয়ে শেষ:

-----\
|     -----\
|           -----\
|=====        |   -----\
|     ======  |         -----
|           ==+===          |
-----\        |   ======    |
      -----\  |         ====|
            -----\          |
                  -----\    |
                        -----

যদি আপনি শেষে পুরো তরঙ্গ দৈর্ঘ্য তৈরি করতে সক্ষম না হন তবে পতাকা সমাপ্ত হবে। শেষ অবধি সমতল থাকুন।

আপনি ধরে নিতে পারেন যে সমস্ত লাইন একই দৈর্ঘ্যের এবং উপরের এবং নীচের লাইনগুলি পুরোপুরি -(0x2D) এর সমন্বয়ে গঠিত এবং বাকী অক্ষরগুলি রয়েছে !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~বা একটি স্থান ( )। (সুতরাং এটির আসকি মূল্য হ'ল ) xযেখানে পতাকাটি কমপক্ষে 3 লম্বা এবং 3 প্রশস্ত হবে।31 < x < 127

তরঙ্গ দৈর্ঘ্য একটি অ-নেতিবাচক পূর্ণসংখ্যার (> = 0) হবে।

(আপনারও তরঙ্গ দৈর্ঘ্য 1 সবচেয়ে ছোট তরঙ্গদৈর্ঘ্য হতে পারে, সুতরাং উপরের উদাহরণটি ওয়েভ দৈর্ঘ্যের 6 হবে This এটি ঠিক আছে))

আপনার পতাকার আই / ও লাইনগুলির অ্যারে বা একাধিক লাইনের স্ট্রিং হিসাবে হতে পারে।

আউটপুট ফ্ল্যাগের পেছনের স্থান থাকতে পারে তবে প্রতিটি পতাকার সমান হওয়ায় কেবল শীর্ষস্থানীয় স্থান থাকতে পারে। কোনও ইনপুট ফ্ল্যাগে ট্রেলিং স্পেস মুছতে পারে।

স্কোরিং

এটি কোড-গল্ফ, তাই সংক্ষিপ্ততম সমাধান, বাইটে, জিতে।

পরীক্ষার মামলা

---
abc
---
2
--\
abc
--\



-----
| + |
-----
10
-----
| + |
-----



---------------------------------------
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&          .\^/.          &&&&&&|
|&&&&&&        . |   | .        &&&&&&|
|&&&&&&        |\|   |/|        &&&&&&|
|&&&&&&     .--'       '--.     &&&&&&|
|&&&&&&      \           /      &&&&&&|
|&&&&&&       >         <       &&&&&&|
|&&&&&&      '~|/~~|~~\|~'      &&&&&&|
|&&&&&&            |            &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
---------------------------------------
12
------------\                          
|&&&&&&      ------------\             
|&&&&&&                   ------------\
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&          .\^/.          &&&&&&|
|&&&&&&        . |   | .        &&&&&&|
|&&&&&&     .  |\|   |/|        &&&&&&|
|&&&&&&      --'       '--      &&&&&&|
|&&&&&&      \           /.     &&&&&&|
|&&&&&&       >         <       &&&&&&|
|&&&&&&      '~|/~~|~~\|~'      &&&&&&|
|&&&&&&            |            &&&&&&|
|&&&&&&                         &&&&&&|
------------\                   &&&&&&|
             ------------\      &&&&&&|
                          ------------\



-----------------------
|-._`-._ :| |: _.-'_.-|
|   `-._`:| |:`_.-'   |
|-------`-' '-'-------|
|------_.-. .-._------|
|  _.-'_.:| |:._`-._  |
|-'_.-'  :| |:  `-._`-|
-----------------------
4
----\
|-._`----\
|   `-._ :----\
|-----._`:| |: ----\
|-------`-| |:`_.-'_---
|  _.--_.-' '-'_.-' .-|
|-'_.-'_.:. .-.-----  |
----\-'  :| |:._------|
     ----\| |: _`-._--|
          ----\ `-._  |
               ----\`-|
                    ---



---------------
---------------
---------------
---------------
---------------
5
-----\         
-----------\   
---------------
---------------
-----\---------
      -----\---
            ---



-------------------------------------------
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
|---------------                          |
|#########################################|
|                                         |
|#########################################|
|                                         |
|#########################################|
-------------------------------------------
0
\
|\
|*\
|  \
|** \
|   *\
|**   \
|   ** \
|**    *\
|-  **   \
|#-    ** \
| #-**    *\
|# #-  **   \
| # #-    ** \
\# # #-**    *\
 \# # #-  **   \
  \# # #-    **|\
   \# # #-**   |#\
    \# # #-  **| #\
     \# # #-   |# #\
      \# # #-**| # #\
       \# # #- |# # #\
        \# # #-| # # #\
         \# # #-# # # #\
          \# # # # # # #\
           \# # # # # # #\
            \# # # # # # #\
             \# # # # # # #\
              \# # # # # # #\
               \# # # # # # #\
                \# # # # # # #\
                 \# # # # # # #\
                  \# # # # # # #\
                   \# # # # # # #\
                    \# # # # # # #\
                     \# # # # # # #\
                      \# # # # # # #\
                       \# # # # # # #\
                        \# # # # # # #\
                         \# # # # # # #\
                          \# # # # # # #\
                           \# # # # # # #\
                            \# # # # # # #\
                             \# # # # # # |
                              \# # # # # #|
                               \# # # # # |
                                \# # # # #|
                                 \# # # # |
                                  \# # # #|
                                   \# # # |
                                    \# # #|
                                     \# # |
                                      \# #|
                                       \# |
                                        \#|
                                         \|
                                          \

4
@ লুইস মেন্ডোকে আশা করা হচ্ছে যে এখানে এসে পরের দিন বা তার মধ্যেই এটিকে উড়িয়ে দেবে।
ম্যাজিক অক্টোপাস উরন

ক্র্যাপ ... ভুলে গেছে @ যারা প্রতিক্রিয়া জানায়নি তাদের সাথে লিঙ্ক দেয় না ... কেউ এমএটিএল ব্যবহার করে আমার বাটকে লাথি মেরে দয়া করে যাতে আমি মন্তব্যগুলি মুছতে পারি।
ম্যাজিক অক্টোপাস উরন

2
যে কেউ এটিকে অ্যানিমেটেড করুন
ম্যাথু রোহ

1
@ সিআইজিএসইজিভি সম্পন্ন হয়েছে , যদিও আপনি যা মনে করছেন তা নাও হতে পারে।
ব্রায়ান ম্যাকচ্যাটন

1
@ কারাসোকম্পুটিং কেউ আমাকে ফোন করেছেন? 31 বাইট, যদিও
লুইস মেন্ডো

উত্তর:


11

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

-2 আদনানকে ধন্যবাদ

-1 এমিনগাকে ধন্যবাদ

জনাথন অ্যালানকে +3 ধন্যবাদ (সেই অকার্যতাটি ধরতে সময় ব্যয় করার জন্য ধন্যবাদ!)

øvyN>²Öi¦¨'\.ø}N²÷ú}).Bø»

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

এটি 0-এর পরিবর্তে 1-ইনডেক্সড, যদি ঠিক না থাকে তবে +2 বাইট।

ø                                    # Transpose.
 vy                }                 # For each column...
   N>²Öi¦¨'\.ø}                      # Replace outside dashes with slants.
               N²÷                   # Current index / input #2.
                  ú                  # Prepend that many spaces to current column.
                    ).Bø             # Join, pad, transpose back.
                        »            # Print with newlines.

এমিগানা / আদনান / যে কেউ - এই স্লেণ্টগুলি প্রতিস্থাপনের জন্য আরও ভাল সমাধান থাকতে পারে তবে আমি স্টাম্পড আছি।


1-ইনডেক্সিং ঠিক আছে।
আর্টিয়ার

1
úহিসাবে একই ð×ì:)
আদনান

1
@ আর্টিয়ার মোটেও না! আমার উত্তরটি প্রমাণ করার জন্য তাকে +3 ধন্যবাদ বৈধ ছিল না, আমি পছন্দ করি যখন লোকেরা উত্তরটি যথেষ্ট দীর্ঘক্ষণ পড়ার জন্য যথেষ্ট যত্ন করে তা লক্ষ্য করা যায় না যে এটি সঠিক নয়। আমি কি কম ব্যঙ্গাত্মক শোনার জন্য যথেষ্ট উচ্চারণ করেছি: পি?
ম্যাজিক অক্টোপাস উরন

2
@ আদনান আমি এখনও তাকে জিজ্ঞাসা করতে পারি না W আপনার নাম জোনাথন অ্যালান কসাই করা সম্পর্কে দুঃখিত ।
ম্যাজিক অক্টোপাস উরন

2
আসলেই কোনও সমস্যা নয় :)
জোনাথন অ্যালান



5

জেলি , 29 বাইট

s”\⁹¦€Fð€0,1¦Zsð⁶ẋ;Ѐµ@"J;/z⁶

ইনপুট এবং আউটপুট পতাকাগুলি লাইনগুলির তালিকা।
তরঙ্গ দৈর্ঘ্য 1-সূচকযুক্ত।
সর্বদা এক লাইনের ফাঁকা স্থান তৈরি করে।
(উপরের সমস্তগুলি পোস্ট করা প্রশ্নে স্পষ্টভাবে অনুমোদিত)

এটি অনলাইন চেষ্টা করুন! (আইওকে দেখতে সুন্দর দেখাতে পাদলেখ - বহুমাত্রিক পাঠ্য হিসাবে পতাকা গ্রহণ করে এবং গ্রহণ করে)

কিভাবে?

কারুসোকম্পিউটিংয়ের 05 এবি 1 এর উত্তরের একটি দুর্দান্ত অনুরূপ পদ্ধতি , যা আমি আরও গল্ফ করতে সক্ষম হইনি।

s”\⁹¦€Fð€0,1¦Zsð⁶ẋ;Ѐµ@"J;/z⁶ - Main link: list of lists f, number p
            ¦                 - apply to indexes (of f)
         0,1                  - ... 0 paired with 1 (i.e. last & first -> bottom & top)
       ð€                     - the previous chain with p as right argument for €ach:
s                             -   split into chunks of length p
    ¦€                        -   apply to indexes for €ach
   ⁹                          -   ... link's right argument, p
 ”\                           -   the character '\' (a replacement - if the index is out of bounds this has no effect - although this might change in the future.)
             Z                - transpose the edited flag
              s               - split into chunks of length p
                        J     - range of length = [1,2,...,nChunks]
               ð     µ@"      - zip with reversed arguments (call those i):
                ⁶             -   literal space
                 ẋ            -    repeated i times
                  ;Ѐ         -    concatenate mapped across the chunks
                         ;/   - undo the split (reduce with concatenation)
                           z⁶ - transpose with a filler of space characters

কেন সবসময় জেলি এটি করে?
গ্রিফন - মনিকা 16 ই

05AB1E স্পষ্টভাবে এই রাউন্ড জিতেছে!
জোনাথন অ্যালান

ঠিক আছে, কেন এটি সর্বদা জেলি বা 05AB1E হয় যে এটি করে? (অলঙ্কৃতিক প্রশ্ন, আমি জানি এটি কারণ তারা গল্ফ করছে ভাষা)
গ্রিফন - মনিকা পুনরায়

3

এমএটিএল , 31 বাইট

x"X@q1GQ&\Z"@b1G=?'\'5L(]h]Xhc!

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন: 1 , 2 , 3 , 4 , 5 , 6 , 7


বাহ, ব্যয়বহুল অংশটি কী ছিল? -সঙ্গে প্রতিস্থাপন [\]?
ম্যাজিক অক্টোপাস উরন

@ কারাসোকম্পুটিং হ্যাঁ, আমি মনে করি এটি সবচেয়ে ব্যয়বহুল অংশ
লুইস মেন্ডো

2

জাভাস্ক্রিপ্ট (ES6), 175 বাইট

f=(s,l,p=++l,t=s.replace(/^-*|-*$/g,s=>s.replace(/-/g,(c,i)=>++i%l?c:`\\`)))=>t.search`
`<p?t:(f(s,l,p+l,t)+`
`+` `.repeat(p)).replace(eval(`/(^|(.*)\\n)(.{${p}})/g`),`
$3$2`)
;
test=(s,l)=>document.write(`<pre>${s}
${l}${f(s,l)}</pre>`);
test(`---
abc
---`,2);
test(`-----
| + |
-----`,10);
test(`---------------------------------------
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&          .\\^/.          &&&&&&|
|&&&&&&        . |   | .        &&&&&&|
|&&&&&&        |\\|   |/|        &&&&&&|
|&&&&&&     .--'       '--.     &&&&&&|
|&&&&&&      \\           /      &&&&&&|
|&&&&&&       >         <       &&&&&&|
|&&&&&&      '~|/~~|~~\\|~'      &&&&&&|
|&&&&&&            |            &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
---------------------------------------`,12);
test(`-----------------------
|-._\`-._ :| |: _.-'_.-|
|   \`-._\`:| |:\`_.-'   |
|-------\`-' '-'-------|
|------_.-. .-._------|
|  _.-'_.:| |:._\`-._  |
|-'_.-'  :| |:  \`-._\`-|
-----------------------`,4);
test(`---------------
---------------
---------------
---------------
---------------`,5);
test(`-------------------------------------------
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
|---------------                          |
|#########################################|
|                                         |
|#########################################|
|                                         |
|#########################################|
-------------------------------------------`,0);

আই / ও একটি নতুন লাইন-বিস্মৃত স্ট্রিং হিসাবে। আউটপুট একটি শীর্ষস্থানীয় নিউলাইন অন্তর্ভুক্ত; এটি 3 বাইট ব্যয়ে সরানো যেতে পারে। আমি সরাসরি আউটপুট স্ট্রিংটি গণনা করার চেষ্টা করেছি তবে তা আমাকে গ্রহণ করেছে ... 176 বাইট:

f=
(a,l,h=a.length)=>[...Array(h+(a[0].length-1)/++l|0)].map((_,i)=>a[0].replace(/./g,(k,j)=>((k=i-(j/l|0))&&h+~k)|-~j%l?(a[k]||'')[j]||' ':'\\'))
;
test=(s,l)=>document.write(`<pre>${s}
${l}
${f(s.split`
`,l).join`
`}</pre>`);
test(`---
abc
---`,2);
test(`-----
| + |
-----`,10);
test(`---------------------------------------
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&          .\\^/.          &&&&&&|
|&&&&&&        . |   | .        &&&&&&|
|&&&&&&        |\\|   |/|        &&&&&&|
|&&&&&&     .--'       '--.     &&&&&&|
|&&&&&&      \\           /      &&&&&&|
|&&&&&&       >         <       &&&&&&|
|&&&&&&      '~|/~~|~~\\|~'      &&&&&&|
|&&&&&&            |            &&&&&&|
|&&&&&&                         &&&&&&|
|&&&&&&                         &&&&&&|
---------------------------------------`,12);
test(`-----------------------
|-._\`-._ :| |: _.-'_.-|
|   \`-._\`:| |:\`_.-'   |
|-------\`-' '-'-------|
|------_.-. .-._------|
|  _.-'_.:| |:._\`-._  |
|-'_.-'  :| |:  \`-._\`-|
-----------------------`,4);
test(`---------------
---------------
---------------
---------------
---------------`,5);
test(`-------------------------------------------
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
| *  *  *  *  *|                          |
|*  *  *  *  * |##########################|
|---------------                          |
|#########################################|
|                                         |
|#########################################|
|                                         |
|#########################################|
-------------------------------------------`,0);

I / O স্ট্রিং অ্যারে হিসাবে।


দেখে মনে হচ্ছে আপনার পাসের একমাত্র পরীক্ষার কেসটি পরিবর্তন হয় না।
মেরি

হ্যাঁ, বেশিরভাগ পরীক্ষার ক্ষেত্রে এটি সঠিকভাবে কাজ করে না। (প্রথমটি আমি চেষ্টা করেছিলাম)
আরটিয়ার

2
@ আর্টিয়ার দুঃখিত, এটি সূক্ষ্ম ছিল; আমি একের পর এক ত্রুটি চিহ্নিত করিনি।
নীল

2

পিএইচপি, 168 164 187 172 167 153 150 152 149 বাইট

for($r=count($f=file(a));$y<$r+$e/$n=$argn;$y+=print"
")for($x=0;$x+1<$e=strlen($f[0])-1;)echo("\\".$f[$z=$y-($x/$n|0)][$x++]." ")[$z%($r-1)||$x%$n];

স্ট্যাটিক ফাইল aএবং তরঙ্গ দৈর্ঘ্য (ন্যূনতম 1) থেকে STDIN থেকে পতাকা নেয় ।
পাইপ হিসাবে চালান php -nrবা এটি অনলাইনে চেষ্টা করুন

ভাঙ্গন

for($r=count($f=file(a));       # import file, count lines
    $y<$r+$e/$n=$argn;          # loop $y through lines
    $y+=print"\n")                      # 2. print newline
    for($x=0;$x+1<$e=strlen($f[0])-1;)  # 1. loop $x through columns
    echo("\\".$f[                           # 3. create string=backslash+character+space
            $z=$y-($x/$n|0)                 # 1. line no. = $y - wave offset
        ][$x++]." "                         # 2. pick character from line
        )
    [
        $z%($r-1)                           # if not first or last line
        ||$x%$n                             # or not last position of wave
    ]                                       # then index 1 (character or space), else "\\"
    ;

মাঝখানে রেখার জন্য কাজ করে না: Sandbox.onlinephpfunitions.com/code/…
আরটিয়ার

এটি মাঝের রেখাগুলিকে `turn তে পরিণত করা উচিত নয়` ব্রিটিশদের পরে পরীক্ষার
কেসটি দেখুন

দেখে মনে হচ্ছে এটি কয়েকটি ফ্ল্যাগের বোতলগুলি
কেটে

@ আর্টির এটি হওয়া উচিত
তিতাস

1
$z&&$z!=$r-1$z%($r-1)3 বাইট সংরক্ষণের সমতুল্য হওয়া উচিত ।
ক্রিস্টোফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.