একজন উঠে যায়, অন্যজন নেমে আসে


20

ভূমিকা

এই চ্যালেঞ্জে, আপনার কাজটি স্থির করা হবে যে সংখ্যার প্রদত্ত ক্রম দুটি উপসংশে বিভক্ত করা যেতে পারে, যার একটি ক্রমবর্ধমান এবং অন্যটি হ্রাস পাচ্ছে decide উদাহরণ হিসাবে, ক্রমটি বিবেচনা করুন 8 3 5 5 4 12 3। এটি নিম্নলিখিত হিসাবে দুটি উপসংশে বিভক্ত হতে পারে:

  3 5 5   12
8       4    3

প্রথম সারির অনুচ্ছেদটি বাড়ছে, এবং দ্বিতীয় সারির একটিটি হ্রাস পাচ্ছে। তদ্ব্যতীত, আপনার এই কার্যটি দক্ষতার সাথে করা উচিত।

ইনপুট

আপনার ইনপুটটি L0 - 99999 সমেত অন্তর্ভুক্ত পূর্ণসংখ্যার একটি খালি খালি তালিকা । এটি আপনার ভাষার স্থানীয় ফরম্যাটে দেওয়া হয়েছে, বা কেবল ফাঁকা জায়গাগুলির দ্বারা সীমাবদ্ধ।

আউটপুট

আপনার আউটপুটটি সত্যিকারের মান, যদি Lএকটি ক্রমবর্ধমান এবং ক্রমহ্রাসমান অনুচ্ছেদ এবং অন্যথায় মিথ্যা মান হিসাবে ভাঙা যায়। উত্তরোত্তরগুলি কঠোরভাবে বৃদ্ধি বা হ্রাস হওয়ার দরকার নেই এবং সেগুলির দুটি খালিও হতে পারে।

বিধি এবং বোনাস

আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়। তদ্ব্যতীত, এই চ্যালেঞ্জটিতে ব্রুট ফোর্সিং নিষিদ্ধ: আপনার প্রোগ্রামটি ইনপুটটির দৈর্ঘ্যের মধ্যে বহুপদী সময়ে চলতে হবে

আপনাকে দুটি উপসাগরটি আসলে ফেরত দিতে হবে না, তবে এটি করার জন্য -20% বোনাস রয়েছে । স্থিতিশীলভাবে টাইপ করা ভাষায় বোনাসটি দাবি করা সহজ করার জন্য, মিথ্যা উদাহরণগুলির জন্য খালি তালিকার একজোড়া ফিরিয়ে দেওয়া গ্রহণযোগ্য।

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

input -> Noneমিথ্যা ইনপুট এবং সত্যবাদী ইনপুটগুলির জন্য বিন্যাসে দেওয়া input -> inc dec। এখানে কেবল একটি সম্ভাব্য যুগল দেওয়া আছে; আরও থাকতে পারে।

[4,9,2,8,3,7,4,6,5] -> None
[0,99999,23423,5252,27658,8671,43245,53900,22339] -> None
[10,20,30,20,32,40,31,40,50] -> None
[49,844,177,974,654,203,65,493,844,767,304,353,415,425,857,207,871,823,768,110,400,710,35,37,88,587,254,680,454,240,316,47,964,953,345,644,582,704,373,36,114,224,45,354,172,671,977,85,127,341,268,506,455,6,677,438,690,309,270,567,11,16,725,38,700,611,194,246,34,677,50,660,135,233,462,777,48,709,799,929,600,297,98,39,750,606,859,46,839,51,601,499,176,610,388,358,790,948,583,39] -> None
[0,1,2,3,4] -> [0,1,2,3,4] []
[4,3,2,1,0] -> [] [4,3,2,1,0]
[1,9,2,8,3,7,4,6,5] -> [1,2,3,4,6] [9,8,7,5]
[71414,19876,23423,54252,27658,48671,43245,53900,22339] -> [19876,23423,27658,48671,53900] [71414,54252,43245,22339]
[10,20,30,20,30,40,30,40,50] -> [10,20,20,30,40,40,50] [30,30]
[0,3,7,13,65,87,112,43,22,1] -> [0,3,7,13,65,87,112] [43,22,1]
[7,4,4,7,4,7,7,4,7,4,4,4,7,7] -> [7,7,7,7,7,7,7] [4,4,4,4,4,4,4]
[7,997,991,957,956,952,7,8,21,924,21,923,22,38,42,44,920,49,58,67,71,83,84,85,917,89,907,896,878,878,90,861,115,860,125,128,140,148,858,155,160,836,164,182,826,191,824,805,195,792,205,782,206,210,769,213,756,748,214,745,724,701,234,241,693,268,685,293,679,297,334,671,336,669,341,652,356,648,362,364,370,375,386,630,622,388,389,618,398,408,468,615,470,533,611,539,544,609,586,582,572,565,547,602,536,619,624,528,512,631,640,649,669,671,677,505,678,723,743,489,489,473,454,757,446,445,758,759,764,445,431,770,429,426,418,409,790,383,379,366,363,791,358,795,809,827,835,356,353,841,844,333,867,323,317,879,311,881,309,896,282,281,897,263,904,237,236,226,202,195,914,186,177,917,920,157,926,936,154,138,943,131,945,100,98,947,957,964,95,973,989,57,43,32,21,16,13,11,8,0] -> [7,7,8,21,21,22,38,42,44,49,58,67,71,83,84,85,89,90,115,125,128,140,148,155,160,164,182,191,195,205,206,210,213,214,234,241,268,293,297,334,336,341,356,362,364,370,375,386,388,389,398,408,468,470,533,539,544,586,602,619,624,631,640,649,669,671,677,678,723,743,757,758,759,764,770,790,791,795,809,827,835,841,844,867,879,881,896,897,904,914,917,920,926,936,943,945,947,957,964,973,989] [997,991,957,956,952,924,923,920,917,907,896,878,878,861,860,858,836,826,824,805,792,782,769,756,748,745,724,701,693,685,679,671,669,652,648,630,622,618,615,611,609,582,572,565,547,536,528,512,505,489,489,473,454,446,445,445,431,429,426,418,409,383,379,366,363,358,356,353,333,323,317,311,309,282,281,263,237,236,226,202,195,186,177,157,154,138,131,100,98,95,57,43,32,21,16,13,11,8,0] 

উত্তর:


3

পাইথ, 34 বাইট

.N|!N|&ghNT:tNhNY&gYhN:tNThN:QZ^T5

পরীক্ষা স্যুট

রানটাইম ডাউন রাখার জন্য মেমোমাইজড পুনরাবৃত্তি ব্যবহার করে। একটি 3 ইনপুট ফাংশন সংজ্ঞায়িত করে :, যা ইনপুটগুলি suff তালিকার প্রত্যয় গ্রহণ করে, ক্রমবর্ধমান ক্রমের সমাপ্তি, ক্রম হ্রাসের শেষে।


2

ব্র্যাচল্যাগ , 16 বাইট - 20% = 12.8 (তবে এটি প্রায় অবশ্যই বহুপক্ষীয় নয়)

⊇≥₁X&⊇≤₁Y;X.cp?∧

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

অনুপযুক্ত সাবকোয়েন্সগুলির জুড়ি না থাকলে ব্যর্থ হয় এবং যদি সেখানে থাকে তবে তার আউটপুট ভেরিয়েবলের মাধ্যমে আউটপুট দেয় (তবে true.এটি প্রোগ্রাম হিসাবে চালিত হলে কেবল মুদ্রণ করবে )। আমি বলছি এটি প্রায় বাহ্যিক নয় কারণ ব্র্যাচল্যাগের সৌন্দর্য হ'ল যেহেতু এটি একটি ঘোষণামূলক ভাষা তাই আপনি একটি অ্যালগরিদম বাস্তবায়নের পথে তেমন কিছু করেন না কারণ আপনি কেবল ভেরিয়েবলের মধ্যে সম্পর্কের বর্ণনা দিয়ে থাকেন এবং কম্পিউটারকে ফলাফলগুলি ছড়িয়ে দিতে বলেন? । সম্ভাবনাগুলি হ'ল এটি কঠোর উদ্দীপনা, তবে আমি পরীক্ষার কেসগুলি আটকে দেওয়ার জন্য যথেষ্ট পরিমাণ অনুলিপি ব্যয় করেছি (যার মধ্যে দুটিই এটি বেরিয়ে যায়) যে আমার মনে হয় যে এই চ্যালেঞ্জটিকে টেনে আনার ব্যতীত অন্য কোনও কারণে যদি আমার কোনওভাবেই এটি জমা দেওয়া উচিত I "নতুনতম" তালিকার পিছনে থেকে ।

   X                X is a
 ≥₁                 non-increasing
⊇                   sublist of the input
    &               and
        Y           Y is a
      ≤₁            non-decreasing
     ⊇              sublist of the input
         ;X         which paired with X
           .        is the output variable
            c       which when its elements are concatenated
             p      is a permutation of
              ?     the input
               ∧    which is not unified with the output.

2

হাস্কেল , 65 বাইট

(>[]).foldl(%)[(0,9^6)]
p%x=do(u,d)<-p;[(x,d)|x>=u]++[(u,x)|x<=d]

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

(u,d)ক্রমবর্ধমান ক্রমের সর্বাধিক সম্ভাব্য জোড়গুলি এবং হ্রাসমানের মিনিটের সন্ধান করে তালিকার মাধ্যমে আইট্রেট করে । প্রতিটি নতুন উপাদান xহয় প্রতিস্থাপন করে uবা d, যা এর সাথে সামঞ্জস্য করে যে এটি পরবর্তী অংশে যুক্ত হয় app এটি হতে পারে যে উভয়ই বা উভয়ই বিকল্প বৈধ নয়। শেষ পর্যন্ত, আমরা পরীক্ষা করে দেখি যে সম্ভাবনার তালিকাটি অকার্যকর।

প্রাথমিক সীমা (0,9^6)ব্যবহার যে সমস্যা সংখ্যার নির্দিষ্ট করে পরিসর 0 হতে - 99999. আরো সাধারণ সমাধান করতে পারে (1/0,-1/0)তোলে (-inf,inf)

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