অঙ্কের একটি সেট থেকে দীর্ঘতম টাওয়ার


20

সম্পাদনা করুন: প্রশ্নের শেষে বাউন্টি ধাঁধা।

1-সংখ্যার সংখ্যার সেট দেওয়া, তারা নির্ধারণ করতে হবে যে তারা কতটা লম্বা একটি টাওয়ার তৈরি করতে পারে।

অঙ্কগুলি স্থল স্তর সহ একটি অনুভূমিক প্লেনে বাস করে যেখানে তারা দাঁড়াতে পারে। কোনও সংখ্যা কোনও বহু-অঙ্কের সংখ্যার সাথে বিভ্রান্ত হতে চায় না, তাই তাদের উভয় পাশে সর্বদা একটি ফাঁকা জায়গা থাকে।

4 2  1 9  6  8

একটি অঙ্ক অন্য একটির উপরে থাকতে পারে:

2
6

অথবা এর নীচে অন্য দুটি তির্যক দ্বারা সমর্থন করা যেতে পারে:

 9
5 8

নীচে এক (গুলি) উপরের এক সমর্থন ওজন সমর্থন করার জন্য (যদি থাকে থাকে) আছে, প্লাস উপরের একজনের ওজন যা সবসময় 1 । যদি দুটি সমর্থক থাকে তবে তারা উপরেরটির মোট ওজনকে সমানভাবে ভাগ করে দেয় (50% -50%)।

প্রতিটি অঙ্কের ওজন এর মান থেকে 1 টি স্বতন্ত্র।

যদি একটি অঙ্ক অন্য দু'জনকে সমর্থন করে তবে তা তাদের সংশ্লিষ্ট ওজনের যোগফলকে সমর্থন করতে সক্ষম হতে হবে। একটি অঙ্ক তার সর্বাধিক সংখ্যাসূচক মানকে সমর্থন করতে পারে।

কিছু বৈধ টাওয়ার (উচ্চতা সহ 4, 3এবং 5):

            0          
7           1
5    1     1 1         9 supports a total weight of 1.5 = (1+1/2)/2 + (1+1/2)/2
2   5 4    5 5        
3  5 9 5  5 6 3        6 supports a total weight of 3 =  1.5 + 1.5 = (2*1+(2*1/2))/2 + (2*1+(2*1/2))/2

কিছু অবৈধ টাওয়ার:

1         5           The problems with the towers are (from left to right):
1  12    2 3     8      1 can't support 1+1; no space between 1 and 2;
1  5 6  1 1 1   9       1 can't support 1.5 = (1+1/2)/2 + (1+1/2)/2; 8 isn't properly supported (digits at both bottom diagonals or exactly below the 8)    

আপনার এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা ইনপুট আউটপুট হিসাবে অঙ্কগুলির একটি তালিকা দিয়েছে বা সেই অঙ্কটির কিছু (সম্ভবত সমস্ত) ব্যবহার করে সর্বোচ্চ টাওয়ারের নির্মানযোগ্য উচ্চতা প্রদান করে।

ইনপুট

  • কমপক্ষে একটি উপাদান সহ অ-নেতিবাচক একক-সংখ্যা সংখ্যাগুলির একটি তালিকা।

আউটপুট

  • একটি একক ধনাত্মক পূর্ণসংখ্যা, সর্বোচ্চ নির্মাণযোগ্য টাওয়ারের উচ্চতা।
  • আপনার সমাধানটি আমার কম্পিউটারে এক মিনিটের মধ্যে যে কোনও উদাহরণ পরীক্ষার কেস সমাধান করতে হবে (আমি কেবল নিকটবর্তী কেসগুলি পরীক্ষা করব I আমার নীচে গড় পিসি রয়েছে))।

উদাহরণ

ফর্ম্যাটটি Input list => Output numberপরবর্তী লাইনে একটি সম্ভাব্য টাওয়ার সহ যা আউটপুটের অংশ নয়।

[0]  =>  1

0

[0, 1, 1, 1, 1, 1]  =>  3

  0
  1
 1 1

[1, 1, 1, 1, 1, 2, 2]  =>  4

   1
   1
  1 1
 1 2 2

[0, 0, 2, 2, 2, 2, 2, 5, 5, 5, 7, 7, 9]  =>  9

0
2
2
5
5
5
7
7
9

[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]  =>  9

   1
   2
   2
   3
   4
   5
  3 3
 4 4 4
5 5 5 5

[0, 0, 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 7, 7, 9]  =>  11

   0
   1
   2
   3
   4
   5
  3 3
  4 5
  5 5
 3 7 3
2 7 9 2

[0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9]  =>  12

 0
 1
 2
 3
 4
 5
 6
 7
4 5
6 7
8 8
9 9

[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]  =>  18

      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
     5 5
     6 6
     7 7
    4 8 4
   3 7 7 3
  2 6 8 6 2
 2 5 8 8 5 2
 3 9 9 9 9 3

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

খয়রাত

বহুবারিক সময়ে (ইনপুট তালিকার দৈর্ঘ্যের বিষয়ে) নীচে বর্ধিত সমস্যা সমাধানের জন্য বা এটি সম্ভব নয় (প্রমাণ করে পি! = এনপি) প্রমাণ করার জন্য আমি 100 টি খ্যাতিমান অনুদান (ইতিমধ্যে প্রদত্ত একের সাথে সম্পর্কিত নয়) প্রদান করব। বর্ধিত সমস্যার বিবরণ:

  • ইনপুট নম্বরগুলি কোনও সংখ্যা নয়-নেতিবাচক পূর্ণসংখ্যার হতে পারে
  • বহু-অঙ্কের সংখ্যাগুলি একক-অঙ্কের সংখ্যা হিসাবে একই স্থান নেয়
  • বহু অঙ্কের সংখ্যাগুলি তাদের সংখ্যাগত মান যেমন 24সমর্থন করতে পারে সমর্থন করতে পারে24

অনুগ্রহ অফারের কোনও মেয়াদ শেষ নেই। যদি প্রমাণ উপস্থিত হয় তবে আমি অনুগ্রহ যুক্ত করে পুরষ্কার দেব।


1
নতুন পিসির জন্য আপনার কি যথেষ্ট অর্থ আছে? তারপরে আমার একটি সমাধান রয়েছে: পি
থ্রিএফএক্স

1
আপনার 3-2-5-7টাওয়ার আমাকে বিভ্রান্ত করে। আপনি বলছেন যে "নীচের অংশের (ওজনের) উপরের ওজনকে সমর্থন করতে হবে (যদি কোনও থাকে তবে) এবং উপরের ওজনের যা সর্বদা 1. 'এর সংখ্যাসূচক মান' - যদি প্রতিটি অঙ্কের ওজন এক হয়, তবে আলাদা সংখ্যা হওয়ার কী আছে?
এমআই রাইট

3
@ এমআই রাইট নম্বরটি নির্দেশ করে যে আপনি সংখ্যার শীর্ষে কত ওজন স্ট্যাক করতে পারেন। তবে সংখ্যার ওজন নিজেই সর্বদা 1.
মার্টিন এন্ডার

@ মার্টিনবাটনার ওএইচ, ডু। ধন্যবাদ.
এমআই রাইট

শিরোনাম উল্লেখ সেট সংখ্যা কিন্তু উদাহরণ বিবেচনা করা, এটা দেখে মনে হচ্ছে আপনি বোঝানো তালিকা । সেটগুলিতে সদৃশ থাকতে পারে না।
গ্রিমি

উত্তর:


10

পাইথন 2 - 326

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

def S(u,c=0,w=[]):
 for(s,e)in[(len(w),lambda w,i:w[i]),(len(w)+1,lambda w,i:.5*sum(([0]+w+[0])[i:i+2]))]:
    m=u[:];l=[-1]*s
    for n in u:
     for i in range(s):
        if 0>l[i]and n>=e(w,i):m.remove(n);l[i]=n;break
    if([]==l or-1in l)==0:
     for r in S(m,c+1,[1+e(w,i)for i in range(s)]):yield r
 yield c
print max(S(sorted(input())))

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