বড়, বেটার (ব্রোকেন) জিপার


9

( এই চ্যালেঞ্জের দ্বারা বেশ ভারী অনুপ্রাণিত )

মূল চ্যালেঞ্জটিতে আপনি একটি আনুভূমিক জিপার তৈরি করেছিলেন, তবে আমার হুডির দিকে তাকিয়ে আমার জিপারটি অনেক বেশি উল্লম্ব (এবং কিছুটা ভাঙা): পি

ইনপুট

আপনাকে কোনও একক স্ট্রিং ( s), এবং যেকোন বিন্যাসে একটি সংখ্যক পূর্ণসংখ্যা ( aএবং b) দেওয়া হবে। কোথায়:

a < (length-of-s / 2)

b <= ((length-of-s / 2) - (a + 1)) / 6

আউটপুট এবং স্কোরিং

আপনার প্রোগ্রামটি একটি সম্পূর্ণ প্রোগ্রাম বা এমন একটি ফাংশন হতে পারে যা আপনার চয়ন করে সঠিক বিন্যাস বা একটি অ্যারে (প্রতি লাইনে একটি আইটেম) সহ একটি স্ট্রিং তৈরি করে। শীর্ষস্থানীয় এবং পিছনের স্পেস এবং নিউলাইনগুলি যতক্ষণ না আউটপুটটির অক্ষরগুলি সমস্ত লাইন আপ করে asচ্ছিক। যেমন।

["f     r"],["u     e"],["l     p"],["l     p"],["y     i"],[" o   z "],["  p n  "],["   e   "]

অথবা

"f     r\nu     e\nl     p\nl     p\ny     i\n o   z \n  p n  \n   e   "

পরীক্ষার কেস 1 জন্য গ্রহণযোগ্য আউটপুট হয়

স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়েছে এবং বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী। কোনও ব্যাখ্যা সহ কোনও উত্তর জিততে সক্ষম হবে না।

ব্যাখ্যা

জিপার তৈরি করতে আপনাকে প্রথমে স্ট্রিং থেকে কোনও সাদা স্থান বা নিউলাইন অক্ষর মুছে ফেলতে হবে। এবং তারপরে এটিটিকে অর্ধেক ভাঁজ করুন (আরও দেখুন পরীক্ষার কেস 1 দেখুন)

abcde fgh ij klmnopqr নীচের দুটি স্ট্রিং হয়ে যায়, লক্ষ্য করুন দ্বিতীয়ার্ধটি বিপরীত হয়েছে।

abcdefghi এবং rqponmlkj

তারপরে প্রতিটি স্ট্রিংয়ের শুরুতে আমরা প্রতিটি স্ট্রিং থেকে একই সূচী অক্ষরটি একটি রেখায় নীচে নির্ধারিত ব্যবধানের সাথে রাখি:

[0] a     r -- (a-3) five spaces
[1]  b   q  -- (a-2) three spaces
[2]   c p   -- (a-1) one space
[3]    d    -- (a)
[4]    o
[5]    e
[6]    n
etc...

এটি আমাদের জিপারের ভিত্তি তৈরি করে। এখন পূর্ণসংখ্যা aএবং b

aআমাদের জিপ এর অবস্থান। জিপারটি কোথায় অবস্থিত তা নির্ধারণ করতে আমরা আমাদের জিপটি বন্ধ করার জন্য আমাদের আউটপুট লাইনের সূচিটি ব্যবহার করি। উদাহরণস্বরূপ [3]আমার উপরের উদাহরণে বর্গাকার বন্ধনীটি হ'ল জিপটি কোথায়।

আমাদের জিপারটি কাছাকাছি পৌঁছানোর আগে উপরের জিপারটি a-2যেখানে এটি 3 স্পেসে বন্ধ হয় এবং a-1যেখানে এটি 1 স্পেসে বন্ধ হয় সেখানে পৌঁছানো পর্যন্ত পাঁচটি স্পেস ফাঁকে থাকতে হবে । উপরের উদাহরণে কেবল পরিষ্কার হতে হবে a = 3(0-ইনডেক্সড)


bআমার জিপারে গর্তের সংখ্যা। জিপটিতে একটি গর্ত তৈরি করতে, আমরা কিছু ফাঁক দিয়ে আবার স্ট্রিংটি বিভক্ত করলাম।

উদাহরণস্বরূপ গর্তের সূচী দিয়ে শুরু করার সাথে সাথে hআমরা h-1একটি স্পেসের ফাঁক বাড়িয়ে h3 স্পেসে এবং h+1একটি স্পেসে ফিরে যাব h-2এবং h+2গর্তের অংশ হিসাবে গণ্য হওয়ায় প্রতি লাইনে কেবল একটি অক্ষর রেখেছি।

জিপের পরে এবং প্রতিটি গর্তের মধ্যে একটি অক্ষরের ফাঁক থাকা আবশ্যক যাতে আমাদের জিপটি গর্তগুলির মধ্যে পুরোপুরি সংযুক্ত থাকে।

আপনি গর্তগুলির সূচকগুলি চয়ন করতে পারেন তবে সেগুলি অবশ্যই জিপারের 'বদ্ধ' বিভাগের মধ্যে উপস্থিত থাকতে হবে।

Again using 'abcdefghi' and 'rqponmlkj'

[0] a     r -- (open)
[1]  b   q  -- (closing)
[2]   c p   -- (closing)
[3]    d    -- zip 
[4]    o    -- gap
[5]    e    -- start of hole  (h-2)
[6]   n f   -- one space      (h-1)
[7]  m   g  -- three spaces   (hole h)
[8]   l h   -- one space      (h+1)
[9]    k    -- end of hole    (h+2)
[10]   i    -- gap
[11]   j

আমি আশা করি যে সমস্ত জিজ্ঞাসা করা হয়, যদি না জিজ্ঞাসা। প্রশ্নের প্রত্যাশায়, আপনি খেয়াল করতে পারেন যে pআমার দ্বিতীয় উদাহরণের চরিত্রটি দ্বিতীয় স্ট্রিংয়ে উপস্থিত রয়েছে, তবে এটির রেখার শুরুতে এটি উপস্থিত, এটি উদ্দেশ্যযুক্ত, আপনাকে অবশ্যই 1-2-1-2- এর ক্রমটি অনুসরণ করতে হবে 1-2, আউটপুটে তার অবস্থান নির্বিশেষে প্রতিটি অর্ধেক ইন-টার্ন থেকে একটি চরিত্র গ্রহণ করা।

পরীক্ষার কেস

"fully open zipper", 7, 0                     | "fully closed zipper", 0, 0
fullyope reppizn                              | fullyclos reppizde
                                              |
f     r   *Note: i particularly like this     | f
u     e     example as it shows the reversing | r
l     p     of the second half of the string  | u
l     p     causes the words to wrap from top | e
y     i     left to the  bottom and back up   | l
 o   z      the right side                    | p
  p n                                         | l
   e                                          | p
                                              | y
                                              | i
                                              | c
                                              | z
                                              | l
                                              | d
                                              | o
                                              | e
                                              | s
  • কলাম 1: "মূর্খ দীর্ঘ লম্বা অবিচ্ছিন্ন জিপার যা কোনও শালীন হুডির উপরে থাকতে পারে না", 24, 0
  • কলাম 2: "স্নাতকোত্তর পল্লীর উপর নির্ভর করে মাইক্রোসফট মাইক্রোসফট। মরিজ ফেইসবাইস মাইস। মাইক্রোসফট এনইসি ফ্রিংগিল্লা আইপস", 15, 5

:

s     e          |          L     m
t     i          |          o     u
u     d          |          r     s
p     o          |          e     p
i     o          |          m     i
d     h          |          i     a
l     t          |          p     l
y     n          |          s     l
l     e          |          u     i
o     c          |          m     g
n     e          |          d     n
g     d          |          o     i
u     y          |          l     r
n     n          |           o   f
b     a          |            r c
r     n          |             s
o     o          |             e
k     t          |             i
e     s          |            n t
n     i          |           m   a
z     x          |            a m
i     e          |             u
 p   t           |             e
  p n            |             q
   e             |             t
   d             |             i
   r             |             ,
   l             |            l c
   t             |           A   o
   u             |            . n
   h             |             i
   o             |             s
   a             |             m
   h             |            e e
   t             |           c   i
   s             |            t t
                 |             e
                 |             s
                 |             t
                 |             s
                 |             u
                 |             l
                 |             r
                 |             o
                 |             a
                 |             m
                 |             d
                 |             s
                 |             i
                 |             u
                 |             p
                 |            b i
                 |           i   s
                 |            c c
                 |             u
                 |             i
                 |             a
                 |             n
                 |             f
                 |             g
                 |             s
                 |             e
                 |             i
                 |            l r
                 |           i   u
                 |            t a
                 |             .
                 |             M

সম্পাদনা: টেস্ট কেস যুক্ত করা হয়েছে

"abcde fgh ij klmnopqr","3","1"

a     r
 b   q
  c p
   d
   o
   e
  n f
 m   g
  l h
   k
   i
   j

1
আমার মনে হয় আমি এই চ্যালেঞ্জটি পছন্দ করি তবে আমি এটি তিনবার পড়েছি এবং আমার ঠিক কী করা উচিত তা নিয়ে আমি এখনও 100% নই। আমি মনে করি সম্পূর্ণ অনুচ্ছেদের চেয়ে নিয়ম এবং চশমাগুলি আরও ছোট এবং পরিষ্কার করা মূল্যবান হবে।
TheLethalCoder

আমি এটি দিয়ে যেতে পারি: পি
মাইস্টিকবাগাবন্ড

কোন পরিষ্কার? @
দ্য

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

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

উত্তর:


1

পিএইচপি 7.1, 421 412 218 195 192 191 195 বাইট

for([,$s,$a,$b]=$argv;$i-$k<strlen($s=strtr($s,[" "=>""]));$p=0)for($t=++$y>$a-2?$y>=$a?$y>$a?$b-->0?_4_4_4_31_23_31:_4:_31:_23:_15;$c=$t[$p++];)echo$c<_?str_pad("",$c).$s[++$f&1?$i++:$k-=1]:"
";

এটি দিয়ে চালান -nrবা অনলাইনে চেষ্টা করুন
একটি শীর্ষস্থানীয়, তবে প্রতিটি লাইনে কোনও পিছনে নতুন লাইন এবং একটি শীর্ষস্থানীয় স্থান মুদ্রণ করে না।


টিআইও আমাকে এই ত্রুটিটি দেয়:<br /> <b>Parse error</b>: syntax error, unexpected ',', expecting ']' in <b>[...][...]</b> on line <b>7</b><br />
মাইস্টিকবাগাবন্ড

@ এক্সনোজ পিএইচপি সংস্করণটি 7.1
টিটাস

আপনার উত্তরটি গর্তটিকে জিপের খুব কাছাকাছি রাখে, পরীক্ষার ক্ষেত্রে আপনার
ইনপুটটির

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