অ্যাডভেন্ট চ্যালেঞ্জ 5: পরিবহন ডক্সে উপহারগুলি সরান!


9

<< পূর্ববর্তী পরবর্তী >>

পিপিসিজি সম্প্রদায়ের জন্য ধন্যবাদ, সান্তা তার সমস্ত উপহারের পুনর্নির্মাণ করতে সক্ষম হয়েছেন এবং অ্যাসেম্বলি লাইনের পরে, উপহারগুলি এখন পরিবহন ডকগুলিতে স্থানান্তরিত হওয়ার জন্য প্রস্তুত!

সান্তার প্রতিটি পরিবহন ডক কেবলমাত্র বর্তমান আকারের একটি ব্যাপ্তি ধারণ করে কারণ পরিবহন স্লাইটগুলি নির্দিষ্ট আকারের জন্য বিশেষীকরণ করা হয় (যে কোনও হালকা এবং এটি অপব্যয়কর হবে, কোনও ভারী এবং স্লিহ বোঝা সামলাতে সক্ষম হবে না)। সুতরাং, তাঁর প্রয়োজন তাঁর উপহারগুলি নিতে এবং সেগুলি সঠিক ট্রান্সপোর্ট ডকগুলিতে সাজানোর জন্য আপনাকে সহায়তা করা উচিত।

চ্যালেঞ্জ

একটি তালিকা দেওয়া হয়েছে এবং পরিবহন ডকের সীমা রয়েছে, স্থিরভাবে উপহারগুলি সঠিক ক্রমে সাজান।

আসুন উদাহরণস্বরূপ এটি নেওয়া যাক: উপহারগুলি [5, 3, 8, 6, 2, 7]হ'ল এবং ডক রেঞ্জগুলি [[1, 5] and [6, 10]]

উপহার 5, 3এবং 2প্রথম ডক এবং উপহার ঢোকা 8, 6আর 7দ্বিতীয় ডক ঢোকা। এটি হিসাবে প্রদর্শিত হতে পারে [[5, 3, 2], [8, 6, 7]]। এই তালিকাটি ইনপুটটির চেয়ে বাছাই করার কাছাকাছি হবে, তবে এর stablyঅর্থ হ'ল প্রতিটি ডকের মধ্যে উপস্থাপিত ক্রমগুলি অবশ্যই ইনপুটটির ক্রমের সমান হতে হবে (অন্যথায় আপনি কেবল পুরো তালিকাটিকে বাছাই করতে পারেন)।

এই ক্ষেত্রে আপনার চূড়ান্ত আউটপুট হবে [5, 3, 2, 8, 6, 7](ফ্ল্যাট তালিকা হিসাবে)।

ফর্ম্যাটিং স্পেসিফিকেশন

আপনি পূর্ণসংখ্যার একটি ফ্ল্যাট তালিকা এবং কোনো যুক্তিসংগত বিন্যাসে রেঞ্জ একটি তালিকা হিসাবে ইনপুট দেওয়া হবে (উদাহরণস্বরূপ, উপরে ক্ষেত্রে জন্য ব্যাপ্তি হিসাবে দেওয়া যেতে পারে [[1, 5], [6, 10]], [1, 5, 6, 10]অথবা [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])। আপনার আউটপুটটি কোনও যুক্তিসঙ্গত বিন্যাসে পূর্ণসংখ্যার সমতল তালিকা হওয়া উচিত।

ইনপুটটিতে সদৃশ মান থাকতে পারে; এই ক্ষেত্রে, আপনার সেগুলির সমস্ত দৃষ্টান্ত ফিরিয়ে আনতে হবে। সমস্ত উপস্থিত আকারগুলি এক আকারের আকারের হবে এবং আপনি ধরে নিতে পারেন যে ব্যাপ্তিগুলি কখনই ওভারল্যাপ হবে না। যতক্ষণ না উপস্থিত সমস্ত আকার areাকা থাকে ততক্ষণ ব্যাপ্তিগুলির ফাঁকগুলি থাকতে পারে।

বিধি

  • স্ট্যান্ডার্ড লুফোলস প্রয়োগ করুন
  • এই , তাই বাইটস মধ্যে সংক্ষিপ্ত উত্তর
  • কোন উত্তর গৃহীত হবে না
  • আপনি ধরে নিতে পারেন যে কোনও শূন্য রেঞ্জ [7, 4]থাকবে না ( অবৈধ হবে কারণ রেঞ্জগুলি উপরে গেলে)

পরীক্ষার কেস

[1, 2, 3, 4, 5, 6, 7] ; [[1, 3], [4, 7]] => [1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7] ; [[4, 7], [1, 3]] => [4, 5, 6, 7, 1, 2, 3]
[7, 3, 5, 4, 6, 1, 2] ; [[1, 3], [4, 5], [6, 7]] => [3, 1, 2, 5, 4, 7, 6]
[4, 7, 6, 3, 5, 2, 1] ; [[1, 4], [5, 7]] => [4, 3, 2, 1, 7, 6, 5]
[1, 1, 3, 3, 6, 4, 7] ; [[1, 4], [6, 7]] => [1, 1, 3, 3, 4, 6, 7]

দ্রষ্টব্য: আমি অ্যাডভেন্ট অফ কোড থেকে এই চ্যালেঞ্জ সিরিজের জন্য অনুপ্রেরণা তৈরি করেছি । এই সাইটের সাথে আমার কোনও সম্পর্ক নেই

আপনি এখানে প্রথম চ্যালেঞ্জের 'লিঙ্কযুক্ত' বিভাগটি দেখে সিরিজের সমস্ত চ্যালেঞ্জের একটি তালিকা দেখতে পারেন ।


সবসময় মাত্র 2 ডক?
LiefdeWen

রেঞ্জগুলি কি ওভারল্যাপ করতে পারে?
রামনেন শেফ

@ লিফডেভেন তৃতীয় পরীক্ষার কেসটি দেখুন।
মিস্টার এক্সকোডার 14


@ র্যামেন শেফ নং ..
হাইপারনিউটারিনো 5:25

উত্তর:



4

জেলি , 4 বাইট

fЀẎ

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

উপস্থিত তালিকা, সম্পূর্ণ ব্যাপ্তি হিসাবে ইনপুট নেয়।


ইয়া হ'ল এই জেলি সমাধানটি আমি আশা করি: ডিডিডি
হাইপারনিউটারিনো

@ হাইপারনিউট্রিনো হহে প্রত্যাশিত সমাধানটি সবচেয়ে সংক্ষিপ্ত হিসাবে পরিণত হবে না। 05ab1e এর বাহ্যিক পণ্য যেভাবে fþFকাজ করে তা সন্ধান করে আমি অনুভব করেছি যে জেলিতেও 3 বাইটের জন্য কাজ করে । কৃতিত্ব আদনানকে যায় ।
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার আপনার বা আদনানকে এটি পোস্ট করা উচিত।
এরিক আউটগলফার

@ মিঃ এক্সকোডার আমি কিছুটা অপেক্ষা করে দেখুন: পি তবে এটি বেশ আলাদা দেখাচ্ছে, যদি আমি এটি পোস্ট করে শেষ করি তবে আমি অন্য উত্তর পোস্ট করব।
এরিক দ্য আউটগল্ফার

4

গণিত, 39 বাইট

x##&@@Cases[x,#|##&@@Range@##]&@@@#&

জংহওয়ান মিন থেকে -22 বাইট-
মার্টিনের থেকে 4 বাইট

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


আপনি Rangeকেবল প্রসারিত রেঞ্জগুলিকে ইনপুট হিসাবে গ্রহণ করে পুরো জিনিস থেকে মুক্তি পেতে পারেন ।
মার্টিন এন্ডার

3

পাইথ , 5 বাইট

s@Rvz

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

পাইথ , 10 বাইট

s.gx}LkQ1E

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

তারা কিভাবে কাজ করে

s @ আরভিজেড | পুরো প্রোগ্রাম।

  আর | ডান মানচিত্র ...
 @ | ... ছেদ ব্যবহার করা হচ্ছে।
   vz | দ্বিতীয়টির সাথে প্রথম ইনপুট।
s | এক স্তর দ্বারা সমতল।
s.gx} LkQ1E | পুরো প্রোগ্রাম।

 .g E | দ্বিতীয় ইনপুটটিতে আইটেমগুলি দ্বারা গ্রুপ করুন ...
    । এলকেকিউ | প্রথম ইনপুটটির উপরে মানচিত্র করুন এবং বর্তমান আইটেমটি তালিকায় রয়েছে কিনা তা পরীক্ষা করুন।
   x 1 | প্রথম সত্যবাদী উপাদানের সূচক নিন।
s | চেপ্টা।

ব্যাপ্তিগুলির সমস্ত পূর্ণসংখ্যার সাথে প্রথমে ডকগুলি নিয়ে যায় এবং তারপরে একটি নতুন লাইনে উপস্থাপিত হয়।



3

05 এ বি 1 , 3 বাইট

δØ

এটি অনলাইন চেষ্টা করুন! ( আমাকে জানার জন্য আদনানকে ধন্যবাদ δ, -১ বাইট)

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

δØ | পুরো প্রোগ্রাম।

δ | পরবর্তী কমান্ডটি (বাইরের পণ্যের মতো কিছু) ডাবল ভেক্টরাইজ করুন।
 Ã | ছেদ তালিকার তালিকা। যেহেতু এটি একটি ডায়ড, প্রথম ইনপুট স্বয়ংক্রিয়ভাবে আসে
     | অনুপস্থিত যুক্তি পূরণ করতে ব্যবহৃত (যতদূর আমি জানি)।
  ˜ | চেপ্টা।

ভাল, কাজ €Ã˜করে বলে মনে হচ্ছে না।
এরিক আউটগলফার

না, নেই। বিটিডব্লিউ €Ã˜ব্যর্থ হওয়ার কারণ হ'ল Ãদুটি আর্গুমেন্ট গ্রহণ করে এবং একটি যুক্তি দিয়ে কোনও ফাংশন প্রত্যাশা করে, সুতরাং এটি [[]]পরিবর্তে ফিরে আসে (আমার মনে হয় এটি একটি বাগ), তারপরে ˜চ্যাপ্টা হয়ে ফিরে আসবে []εযদিও, ভিন্নভাবে কাজ করে। শীর্ষ আইটেমের প্রতিটি উপাদানের জন্য, এটি একটি নতুন স্ট্যাক তৈরি করে এবং তারপরে প্রতিটি নতুন স্ট্যাকের শীর্ষটি ফিরিয়ে দেয়, সুতরাং যখন কোনও ফাংশনের জন্য এতে পর্যাপ্ত আইটেম নেই তখন এটি পরিবর্তে একটি অন্তর্নিহিত ইনপুট নেয়।
এরিক আউটগল্ফার

আমি এখনও এটি পরীক্ষা করিনি, তবে δØআপনি যা খুঁজছেন তা কি?
আদনান

@ মিঃ এক্সকোডার আমার মনে হয় না পাইথটি হুবহু ডায়ডিক ম্যাপে রয়েছে, এটি বাইরের পণ্য বা কোনও কিছুর মতো আচরণ করে।
এরিক দ্য আউটগল্ফার

3

রেটিনা , 37 36 বাইট

O$`(\d+)(?=.*¶(.*)\[.*\b\1\b)
$2
G1`

এটি অনলাইন চেষ্টা করুন! প্রথম লাইনে উপহারের তালিকা এবং দ্বিতীয় লাইনে রেঞ্জের তালিকা হিসাবে ইনপুট নেয়; পরীক্ষার কেসগুলি কাঙ্ক্ষিত বিন্যাসে ভাগ করতে লিঙ্কটিতে একটি শিরোলেখ অন্তর্ভুক্ত রয়েছে। সম্পাদনা করুন: @ মার্টিনইেন্ডারকে ধন্যবাদ 1 টি বাইট সংরক্ষিত ব্যাখ্যা: প্রথম পর্যায়ে উপস্থাপকদের সাথে মেলে এবং ম্যাচিং ডকের সন্ধান করে। উপহারগুলি লাইনের শুরু থেকে শুরু করে স্ট্রিংয়ের মাধ্যমে সাজানো হয় [, এইভাবে উপহারগুলিকে ডক দ্বারা ভাগ করে নেওয়া। দ্বিতীয় পর্যায়ে ডক্স মুছে ফেলা হয়।


2

তালিকাভুক্ত , 3 বাইট

f₱Ẏ

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

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

চ ₱ Ẏ | পুরো প্রোগ্রাম।

 ₱ | ডান যুক্তি উপর মানচিত্র।
চ | তালিকা ছেদ ব্যবহার করে, বহুগুণ গণনা করা।
  Ẏ | শক্ত করুন (1 স্তর দ্বারা সমতল) flat

1
: ডি এনলিস্টকে ভুলে যাওয়া হয়নি: ডি আসলে এটি দয়া করে, কেবল সম্প্রদায়ই নয়, বরং আমার
দ্বারাও ছিল

2

এপিএল + উইন, 29 বাইট

(,⍉<\p←n∘.≤∊¯1↑¨⎕)/(×/⍴p)⍴n←⎕

পূর্ণসংখ্যা এবং ব্যাপ্তি উভয়ের জন্য স্ক্রিন ইনপুটের জন্য অনুরোধ জানায়। সমতল তালিকা হিসাবে পূর্ণসংখ্যা এবং নেস্টেড ভেক্টর হিসাবে ব্যাপ্তি, উদাহরণস্বরূপ কেস 3:

(1 3) (4 5) (6 7)

ব্যাখ্যা:

(×/⍴p)⍴n←⎕ prompt for screen input of integers and replicate by the number of ranges 

∊¯1↑¨⎕ prompt for screen input of ranges and select the top of each

p←n∘.≤ create a boolean matrix using outer product with less than the top of each range

,⍉<\ identify the first range which each element fits in and ravel into a partition vector

(.....)/.... use the partition vector to select the elements in each range in order

2

সি ++, 127 বাইট

পয়েন্টারের জোড়া দ্বারা উপস্থাপিত দুটি অ্যারে হিসাবে ইনপুট নিন [start, end)

#import<algorithm>
[](int*A,int*x,int*B,int*y){for(;B!=y;B+=2)A=std::stable_partition(A,x,[&](int a){return a>=*B&&a<=B[1];});}

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


ঠিক আছে, সি ++ এর প্রতিটি কিছুর জন্য অন্তর্নির্মিত আছে ... বা এটি আছে? / প্রদত্ত যে ইনপুট ব্যাপ্তিগুলিতে 0 টি নেই, নাল-টার্মিনেটেড অ্যারে বি ব্যবহার করে কিছু বাইট গল্ফ করা সম্ভব, যদিও এটি প্রতারণা হিসাবে বিবেচিত হতে পারে। / দুর্ভাগ্যক্রমে [&](int a)->int{a=a>=পরিবর্তে [&](int a){return a>=কোনও বাইট সংরক্ষণ করে না। / কমপক্ষে টিআইও-তে #import<algorithm>থাকতে পারে #import<regex>on আমি খুঁজে পেয়েছি যে অনুসন্ধানের পরে সম্পূর্ণরূপে ("ম্যানুয়াল বাইনারি অনুসন্ধান") এই পৃষ্ঠায় তালিকাভুক্ত সমস্ত শিরোনাম এবং এটি একটি সংক্ষিপ্ততম। / এছাড়াও, আমার কাছ থেকে +1।
ব্যবহারকারী 202729

2

জে, 15 বাইট

[/:[:I.e.&>"0 1

বাম আর্গুমেন্ট এবং ডান আর্গুমেন্ট হিসাবে ব্যাপ্তি হিসাবে ইনপুট নেয় । ব্যাপ্তিগুলি সম্পূর্ণ ব্যাপ্তির বাক্সিত তালিকা।

যেমন প্রথম ব্যাপ্তির জন্য:

   NB. This produces the range
   (1 2 3 ; 4 5 6 7)
┌─────┬───────┐
│1 2 3│4 5 6 7│
└─────┴───────┘

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

ব্যাখ্যা

[/:[:I.e.&>”0 1
          >”0 1  Pair each element on the left with each range on the right
       e.        Is the element in the range?
     I.          Indices of ones
[/:              Sort the elements by this array

2

জে , 26 24 বাইট

2 বাইট কোল ধন্যবাদ

[:;]<@#~1=-&1 0"1@[I."1]

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

বাম আর্গুমেন্টটি রেঞ্জগুলি ধরে রেখেছে।

-&1 0"1@[ প্রতিটি ব্যাপ্তির নিম্ন সীমানা 1 দ্বারা হ্রাস করে

I."1] কোন পরিসীমা প্রতিটি উপস্থিত ফিট করে তা পরীক্ষা করে

1= এটা কি সঠিক পরিসরে?

]<@#~ বর্তমান পরিসরে থাকা উপস্থাপনাগুলি এবং অনুলিপিগুলি বাক্স করে

; - গোলাপ (আনবক্সিং)

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


1
আমি প্রায় আপনি শূণ্যসমূহ সরাতে পারবেন না নিশ্চিত যেহেতু ইনপুট অবিচ্ছেদ্য (যেমন এই পরীক্ষাটি ক্ষেত্রে ব্যর্থ (0 4,:_3 _1) f _2 _1 0 1 2)
কোল

@ কোল এইচএম, আমি এই মামলাগুলিকে সম্পূর্ণ অবহেলা করেছি। আমি তাদের সম্পর্কে চিন্তা করা প্রয়োজন।
গ্যালেন ইভানভ

1
হ্যাঁ আমি মনে করি যে সহজতম উপায়টি সম্ভবত বক্স করা এবং তারপরে রাউজ হবে। 24 বাইট।
কোল

@ কোল আপনাকে ধন্যবাদ! এটা না শুধুমাত্র খাটো কিন্তু সহজে সঙ্গে 0. সমস্যা solves
গ্যালেন ইভানভ

2

আর , 113 48 55 41 বাইট

পূর্ববর্তী সংস্করণটি যখন ডক্সগুলি ক্রমবর্ধমান ক্রমে না থাকে তখন অবজেক্টগুলিকে সঠিকভাবে সাজান না।

function(P,D)for(d in D)cat(P[P%in%d],"")

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

Dরেঞ্জের ভেক্টরগুলির তালিকা হিসাবে গ্রহণ করে , যেমন list(4:7,1:3)হবে [[4, 7], [1, 3]]

সম্ভবত কয়েক বছর আগে আমার এই নিষ্পাপ উত্তরটি আসা উচিত ছিল; stdout প্রিন্ট।


2

জাপট , 6 বাইট

ñ@VbøX

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


ব্যাখ্যা

অ্যারে U(উপস্থাপক) এবং 2 ডি-অ্যারে V(সম্পূর্ণ ব্যাপ্তি) এর অন্তর্নিহিত ইনপুট । বাছাই করুন ( ñ) একটি ফাংশন (মাধ্যমে তাদের পাশ দিয়ে উপহার @) যে প্রথম উপাদান (সূচী পায় b) এ Vযে রয়েছে ( ø) বর্তমান বর্তমান ( X)।


1

পাইথন 2, 97 85 বাইট

l,d=input()
k=lambda i,j=0:-~j*(d[j][0]<=i<=d[j][1])or k(i,j+1)
print sorted(l,key=k)

Ovs থেকে -11 বাইট

মিঃ এক্সকোডার থেকে -1 বাইট

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

চাবি হিসাবে পুনরাবৃত্ত ল্যাম্বদা ব্যবহার করে তালিকাটি সাজান। ব্যাখ্যা শীঘ্রই আসছে - নীচে।

ব্যাখ্যা:

l,d=input()             # l is the lsit of presents, d is the list of ranges
k=lambda i,j=0:-~j*(d[j][0]<=i<=d[j][1])or k(i,j+1)# recursive lambda to sort with
k=lambda i,j=0:                                    # i is the present
                                                   # j is the index in the list of ranges
               -~j*(d[j][0]<=i<=d[j][1])           # return the index of the list of
                                                   # ranges(plus one) if the present is
                                                   # in the range
                                        or k(i,j+1)# if the present is not in the range,
                                                   # try the next range
print sorted(i,key=k)   # print the list of presents sorted by the lambda

1

জাভাস্ক্রিপ্ট ES6, 53 47 45 বাইট

p=>l=>l.map(d=>p.filter(a=>d.includes(a)))+''

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


45 বাইট । আপনি পুরো রেঞ্জগুলি ইনপুট হিসাবে নিতে পারেন। একটি সামান্য সুন্দর বিকল্প 47 বাইটার
মিস্টার এক্সকোডার 16

1

পাওয়ারশেল , 37 বাইট

param($a,$b)$b|%{$i=$_;$a|?{$_-in$i}}

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

লাগে $aউপহার একটি আক্ষরিক অ্যারে এবং $bঅ্যারে একটি অ্যারের, প্রতিটি যা সম্পূর্ণ পরিসর (যেমন, হিসাবে @(1,2,3,4,5)পরিবর্তে @(1,5))। আমরা প্রতিটি আইটেমের উপর তারপর লুপ $bসঙ্গে |%{...}। অভ্যন্তরে, আমাদের $iবর্তমান আইটেম হিসাবে কোনও সহায়ক স্থাপন করতে হবে, তারপরে কেবল সেই আইটেমগুলিকে কেবল বর্তমান অ্যারেগুলি বাইরে বের করার জন্য এর Where-Objectবিরুদ্ধে একটি ধারা ব্যবহার করুন ।$a-in$b

সেগুলি পাইপলাইনে রেখে গেছে এবং আউটপুট অন্তর্ভুক্ত। যেহেতু ডিফল্ট আচরণ Write-Outputঅ্যারে উপাদানগুলির মধ্যে একটি নতুন লাইন সন্নিবেশ করায়, আমরা সেটাই পাই। এখানে একটি সামান্য টুইটযুক্ত সংস্করণ যা -joinপার্থক্য দেখানোর জন্য একটি নতুন লাইনের পরিবর্তে কমা দিয়ে একসাথে এডিট করা হয়েছে।




1

উইন্ডোজ ব্যাচ (সিএমডি), 90 79 বাইট

set/pX=||exit
set/pY=
for %%n in (%*)do if %X% LEQ %%n if %%n LEQ %Y% %%n
%0 %*

এলএফ শেষ-লাইন বিন্যাসটি ব্যবহার করুন। প্রতিটি প্রান্তের অক্ষরের অক্ষরটি 1 বাইট হিসাবে গণনা করা যায়।

টিআইও নেই (কারণ টিআইও লিনাক্স ব্যবহার করে)

কমান্ড লাইন আর্গুমেন্ট, এবং থেকে শুরু করে তালিকাটি নিন stdin

উদাহরণস্বরূপ, যদি প্রোগ্রামটি চালিত হয় (ধরুন ফাইলটির নাম দেওয়া হয়েছে r1.cmd)

r1 7 3 5 4 6 1 2

এবং stdinইনপুট সহ

1
3
4
5
6
7

, প্রোগ্রামটি stderrবিন্যাস সহ আউটপুট হবে

'3' is not recognized as an internal or external command,
operable program or batch file.
'1' is not recognized as an internal or external command,
operable program or batch file.
'2' is not recognized as an internal or external command,
operable program or batch file.
'5' is not recognized as an internal or external command,
operable program or batch file.
'4' is not recognized as an internal or external command,
operable program or batch file.
'7' is not recognized as an internal or external command,
operable program or batch file.
'6' is not recognized as an internal or external command,
operable program or batch file.

(আউটপুট ক্রম অনুরূপ 3 1 2 5 4 7 6)


ব্যাখ্যা:

set /p X=       Prompt for variable X (min range)
   ||exit       If failed (end of file), exit - similar to short-circuit of logical OR
set /p Y=       Prompt for variable Y
for %%n in (%*)do     For each number %%n in all command-line arguments
   if %X% LEQ %%n     If X <= n
      if %%n LEQ %Y%  and n <= Y
         %%n          run command named "n", which lead to an error.

%0 %*           Call itself, process other ranges

অগল্ফড কোড ( trueআর্গুমেন্ট 1 হিসাবে পাস হলে ইন্টারঅ্যাকশন সক্ষম হওয়া; তালিকাটির জন্য অনুরোধ করা stdin, gotoস্ট্যাক ওভারফ্লো এড়াতে ব্যবহার করুন - আসলে আমি কেবল কোনও স্ক্রিপ্ট চালানোর চেষ্টা করেছি যা কোনও সমস্যা না দেখে 70000 বার নিজেকে কল করে, তাই আমি এটি অনুমান করি বেশ নিরাপদ হওয়া উচিত):

@echo off

set INTERACTIVE=%1

if "%INTERACTIVE%" == "true" (
    set rangeMinPrompt=Enter range min: 
    set rangeMaxPrompt=Enter range max: 
    set listPrompt=Enter list: 
) else (
    set rangeMinPrompt=
    set rangeMaxPrompt=
    set listPrompt=
)


set /p list=%listPrompt%

:loop_label

set /p rangeMin=%rangeMinPrompt%&& set /p rangeMax=%rangeMaxPrompt%|| exit /b

for %%n in (%list%) do (
    if %rangeMin% LEQ %%n (
        if %%n LEQ %rangeMax% (
            echo %%n
        )
    )
)

goto :loop_label

কমান্ড-লাইন আর্গুমেন্ট এবং ব্যবহারের জন্য উপহারগুলি প্রয়োজনীয় হিসাবে আপনি আরও বাইট সংরক্ষণ করতে পারেন (%*)। এটি সম্পন্ন %0 %*করার পরে, আপনি প্রতিটি ব্যাপ্তি প্রক্রিয়া করার পরে স্ক্রিপ্টটি পুনরায় চালু করতে ব্যবহার করতে পারেন । (আমি আসলে কারণ আমি সুন্দর ছোঁয়া সঙ্গে আপনার ইন্টারেক্টিভ সংস্করণ ব্যবহার একটি বৃহত্তর বাইট গণনা সঙ্গে শেষ পর্যন্ত &&, exit/bএবং echoআমার আদ্যস্থল হিসাবে।)
নিল

@ নিল সুন্দর, ধন্যবাদ! আমি প্রথমে ব্যবহার করার চেষ্টা করেছি %1কিন্তু উদ্ধৃতিগুলি "স্থানটি বিভাজক হিসাবে কাজ করছে না, তাই আমি ব্যবহার শেষ করেছি set /p
ব্যবহারকারী 202729

ওহ, বাহ আছে $~1...
ব্যবহারকারী 202729


1

ওল্ফ্রাম ভাষা (গণিত) , 34 বাইট

r#~SortBy~{#&@@@r~Position~#&}&

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

হয় Functionঅপারেটর।

এটি একটি নামবিহীন ত্রিযুক্ত ফাংশন যা প্রথমে (প্রসারিত) ডক রেঞ্জের তালিকা এবং তারপরে উপহারের তালিকার সাথে ডাকা উচিত। উদাহরণস্বরূপ, আপনি যদি ফাংশনটি নির্ধারণ করেন f:

f[ {{4,5,6,7},{1,2,3}} ][ {1,2,3,4,5,6,7} ]

ডক রেঞ্জের তালিকার মানের প্রথম-স্তরের অবস্থান অনুসারে সাজানো উপস্থানের তালিকা। SortByবাছাই স্থিতিশীল করতে আমাদের একটি তালিকায় ফাংশনটি মোড়ানো প্রয়োজন ।


1

জুলিয়া 0.6 , 31 30 বাইট

p%d=vcat((∩(p,x)for x=d)...)

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

%অপারেটরটিকে পুনরায় সংজ্ঞায়িত করে এবং উপহারের তালিকার প্রথম ইমপুটটির অর্ডার এবং বহুগুণ বজায় রেখে ∩()ডকগুলির উপর সেট ছেদটি মানচিত্র করে । ইনপুটটি একাধিক যুক্তিগুলিতে প্রসারিত হয়ে ফলাফলযুক্ত নেস্টেট অ্যারে সমতল করে।dpvcat...

সম্পাদনা, -1 বাইট: পরিবর্তে তালিকা বোঝার জন্য map()

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