চেনাশোনাগুলির একটি তালিকা দেওয়া হয়েছে, ক্ষুদ্রতম আয়তক্ষেত্রের ক্ষেত্রফল আউটপুট করুন


28

আপনাকে রেডিয়ির একটি তালিকা দেওয়া হবে, আপনাকে অবশ্যই ক্ষুদ্রতম আয়তক্ষেত্রের ক্ষেত্রের আউটপুট দিতে হবে যা তারা সকলেই ফিট করবে।

উদাহরণস্বরূপ, [5,3,1.5]আপনি আউটপুট হবে তালিকা দেওয়া 157.460

এটি চিত্র:

প্রস্থটি 15.7460 এবং উচ্চতা 10, সুতরাং অঞ্চলটি 157.460

নিয়মাবলী:

  • আপনি স্টিডিন বা ফাংশন আর্গুমেন্টের মাধ্যমে তালিকাটি পাবেন, স্ট্যান্ডআউট বা ফাংশন রিটার্নের মাধ্যমে উত্তরটি আউটপুট করুন।

  • রেডিয়ির সর্বাধিক 2 দশমিক স্থান থাকবে।

  • তালিকার দৈর্ঘ্য 2 থেকে 6 এর মধ্যে থাকবে।

  • আউটপুট 3 দশমিক স্থান বা তারও বেশি সঠিক হতে হবে।

  • আপনার যদি প্রয়োজন হয় তবে π = 3.1416।

পরীক্ষার কেস:

বাইটস মধ্যে সংক্ষিপ্ত কোড।



1
আমি উদ্দেশ্যমূলক বিজয়ী মানদণ্ড দেখতে পাচ্ছি না
মাল্টেসেন

এটি আমাদের অন্যতম কেন্দ্রীয় নিয়ম
মালটিসেন

2
@ টিম সর্বাধিক হ'ল কোড গল্ফ, এটি কয়েক বাইটে কোডিংয়ের লক্ষ্য সহ। আমি মনে করি এটি একটি ভাল কোড গল্ফ চ্যালেঞ্জ তৈরি করবে, কারণ এটির একটি নির্দিষ্ট অনুমান রয়েছে।
xnor

আমি "বৃত্তাকার না কাটা" শর্তটি থেকে মুক্তি পাওয়ার পরামর্শ দিচ্ছি কারণ এটি কার্যটির পেরিফেরিয়াল, এবং কিছু ভাষাগুলি কেবল এটি করতে পারে যখন অন্যদের এটির জন্য অতিরিক্ত কোডিং প্রয়োজন। আমি নিশ্চিত না যে আপনি 3 দশমিকেরও বেশি জায়গায় আউটপুট দেওয়ার জন্য এটি ঠিক রাখছেন কিনা, তবে আমি এটিও অনুমতি দেওয়ার পরামর্শ দিচ্ছি।
xnor

উত্তর:


16

পাইথন 2 + পাইএসসিআইপি আপ্ট , 267 বাইট

from pyscipopt import*
R=input()
m=Model()
V,C=m.addVar,m.addCons
a,b,c=V(),V(),V()
m.setObjective(c)
C(a*b<=c)
P=[]
for r in R:
 x,y=V(),V();C(r<=x);C(x<=a-r);C(r<=y);C(y<=b-r)
 for u,v,s in P:C((x-u)**2+(y-v)**2>=(r+s)**2)
 P+=(x,y,r),
m.optimize()
m.printBestSol()

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

নিম্নরূপ আমরা সমস্যার লিখুন: কমান ভেরিয়েবল উপর একটি , , , এক্স 1 , Y 1 , ..., x এর এন , Y এন , যেখানে

  • abc ;
  • r ix ia - r i এবং r iy ib - y i , 1 ≤ in এর জন্য ;
  • ( x i - x j ) 2 + ( y i - y j ) 2 ≥ ( r i + r j ) 2 , 1 ≤ j < in এর জন্য

স্পষ্টতই, আমরা এই সীমাবদ্ধতাগুলিতে একটি বাহ্যিক অপ্টিমাইজেশন লাইব্রেরি ব্যবহার করছি, তবে আপনি কেবল তাদের কোনও পুরানো অপ্টিমাইজারকে খাওয়াতে পারবেন না — এমনকি ম্যাথামেটিকার NMinimizeএই ক্ষুদ্র পরীক্ষার ক্ষেত্রে স্থানীয় মিনিমে আটকে যায়। যদি আপনি সীমাবদ্ধতার দিকে ঘনিষ্ঠভাবে তাকান তবে আপনি দেখতে পাবেন যে এগুলি একটি চতুর্থাংশ-সীমাবদ্ধ চতুষ্কোণ কর্মসূচী গঠন করে এবং একটি নন-কনভেক্স QCQP- এর বৈশ্বিক অনুকূল সন্ধান করা এনপি-হার্ড। সুতরাং আমাদের কিছু অবিশ্বাস্যভাবে উচ্চ-শক্তিযুক্ত যাদু প্রয়োজন। আমি শিল্প-শক্তি সলভার এসসিআইপি বেছে নিয়েছি , যা একমাত্র বৈশ্বিক কিউসিকিউপি সলভার যা আমি একাডেমিক ব্যবহারের জন্য নিখরচায় লাইসেন্সের সাথে খুঁজে পেতে পারি। সুখের বিষয়, এটিতে খুব সুন্দর পাইথনের বাইন্ডিং রয়েছে।

ইনপুট এবং আউটপুট

স্টিডিনের মতো ব্যাসার্ধের তালিকাটি পাস করুন [5,3,1.5]। আউটপুট শো objective value:আয়তক্ষেত্র এলাকা, x1, x2আয়তক্ষেত্র মাত্রা, x3আয়তক্ষেত্র এলাকায় আবার, x4, x5প্রথম বৃত্ত কেন্দ্র স্থানাঙ্ক, x6, x7দ্বিতীয় বৃত্ত কেন্দ্র স্থানাঙ্ক, ইত্যাদি

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

[5,3,1.5]157.459666673757

5,3,1.5

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.04
Solving Nodes      : 187
Primal Bound       : +1.57459666673757e+02 (9 solutions)
Dual Bound         : +1.57459666673757e+02
Gap                : 0.00 %
objective value:                     157.459666673757
x1                                                 10   (obj:0)
x2                                   15.7459666673757   (obj:0)
x3                                   157.459666673757   (obj:1)
x4                                                  5   (obj:0)
x5                                                  5   (obj:0)
x6                                                  7   (obj:0)
x7                                   12.7459666673757   (obj:0)
x8                                                1.5   (obj:0)
x9                                   10.4972522849871   (obj:0)

[9,4,8,2]709.061485909243

এটি ওপির সমাধানের চেয়ে ভাল। সঠিক মাত্রা 18 বাই 29 + 6√3।

9,4,8,2

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 1.07
Solving Nodes      : 4650
Primal Bound       : +7.09061485909243e+02 (6 solutions)
Dual Bound         : +7.09061485909243e+02
Gap                : 0.00 %
objective value:                     709.061485909243
x1                                                 18   (obj:0)
x2                                   39.3923047727357   (obj:0)
x3                                   709.061485909243   (obj:1)
x4                                                  9   (obj:0)
x5                                   30.3923047727357   (obj:0)
x6                                                 14   (obj:0)
x7                                   18.3923048064677   (obj:0)
x8                                                  8   (obj:0)
x9                                                  8   (obj:0)
x10                                                 2   (obj:0)
x11                                  19.6154311552252   (obj:0)

[18,3,1]1295.999999999

18,3,1

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 13
Primal Bound       : +1.29599999999900e+03 (4 solutions)
Dual Bound         : +1.29599999999900e+03
Gap                : 0.00 %
objective value:                       1295.999999999
x1                                   35.9999999999722   (obj:0)
x2                                                 36   (obj:0)
x3                                     1295.999999999   (obj:1)
x4                                   17.9999999999722   (obj:0)
x5                                                 18   (obj:0)
x6                                   32.8552571627738   (obj:0)
x7                                                  3   (obj:0)
x8                                                  1   (obj:0)
x9                                                  1   (obj:0)

বোনাস কেস

[1,2,3,4,5]230.244214912998

1,2,3,4,5

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 401.31
Solving Nodes      : 1400341
Primal Bound       : +2.30244214912998e+02 (16 solutions)
Dual Bound         : +2.30244214912998e+02
Gap                : 0.00 %
objective value:                     230.244214912998
x1                                   13.9282031800476   (obj:0)
x2                                    16.530790960676   (obj:0)
x3                                   230.244214912998   (obj:1)
x4                                                  1   (obj:0)
x5                                   9.60188492354373   (obj:0)
x6                                    11.757778088743   (obj:0)
x7                                   3.17450418828415   (obj:0)
x8                                                  3   (obj:0)
x9                                    13.530790960676   (obj:0)
x10                                  9.92820318004764   (obj:0)
x11                                   12.530790960676   (obj:0)
x12                                                 5   (obj:0)
x13                                                 5   (obj:0)

[3,4,5,6,7]553.918025310597

3,4,5,6,7

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 90.28
Solving Nodes      : 248281
Primal Bound       : +5.53918025310597e+02 (18 solutions)
Dual Bound         : +5.53918025310597e+02
Gap                : 0.00 %
objective value:                     553.918025310597
x1                                   21.9544511351279   (obj:0)
x2                                   25.2303290086403   (obj:0)
x3                                   553.918025310597   (obj:1)
x4                                                  3   (obj:0)
x5                                   14.4852813557912   (obj:0)
x6                                   4.87198593295855   (obj:0)
x7                                   21.2303290086403   (obj:0)
x8                                   16.9544511351279   (obj:0)
x9                                                  5   (obj:0)
x10                                                 6   (obj:0)
x11                                                 6   (obj:0)
x12                                  14.9544511351279   (obj:0)
x13                                  16.8321595389753   (obj:0)

[3,4,5,6,7,8]777.87455544487

3,4,5,6,7,8

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 218.29
Solving Nodes      : 551316
Primal Bound       : +7.77874555444870e+02 (29 solutions)
Dual Bound         : +7.77874555444870e+02
Gap                : 0.00 %
objective value:                      777.87455544487
x1                                   29.9626413867546   (obj:0)
x2                                   25.9614813640722   (obj:0)
x3                                    777.87455544487   (obj:1)
x4                                   13.7325948669477   (obj:0)
x5                                   15.3563780595534   (obj:0)
x6                                   16.0504838821134   (obj:0)
x7                                   21.9614813640722   (obj:0)
x8                                   24.9626413867546   (obj:0)
x9                                   20.7071098175984   (obj:0)
x10                                                 6   (obj:0)
x11                                  19.9614813640722   (obj:0)
x12                                                 7   (obj:0)
x13                                                 7   (obj:0)
x14                                  21.9626413867546   (obj:0)
x15                                  8.05799919177801   (obj:0)

লজ্জা শেষটি একটি সামান্য বৃত্তাকার ত্রুটি দেয়, তবে দুর্দান্ত কাজ!
টিম

আমার কাছে দেখে মনে হচ্ছে [1,2,3,4,5] 3 ব্যাসার্ধটি 3 এবং ব্যাসার্ধ 5 টি বৃত্তগুলিকেও স্পর্শ করে উন্নত করা যেতে পারে, তারপরে 4 / ব্যাসার্ধ 5 টি তির্যক ঘড়ির কাঁটার দিকে সামান্য ঘোরানো (ব্যাসার্ধ 1 বৃত্তটি করতে হবে) পথ থেকে সরানো হ'ল তবে তার জন্য প্রচুর মরা জায়গা রয়েছে আমার প্রবৃত্তি এবং আমার গণনা উভয়ই সূচিত করে যে দীর্ঘ, পাতলা আয়তক্ষেত্রটি একটি বর্গাকারের চেয়ে আরও দক্ষতার সাথে 4 / ব্যাসার্ধের 5 টি বৃত্তকে ধারণ করতে পারে
স্তর নদী সেন্ট

পছন্দ করুন 5 এ স্পর্শ করতে 3 টি উপরে সরানো 4 টি ডানদিকে (5 থেকে বিপরীত দিকে) চাপিয়ে দেবে, এটিকে বাম দিকে (5 থেকে ঘড়ির কাঁটার দিকে) সরাতে দেয় না। আমার প্রোগ্রামটির কনফিগারেশনটি (7 + 4√3) × (9 + √ (29 + 16√3)) ≈ 13.9282 × 16.5308 ≈ 230.244, যখন আপনার প্রস্তাবিত কনফিগারেশনটি (30 + 15 +3) / 4 × (36 + 3) √5 + 6√15) / 4 ≈ 13.9952 × 16.4865 ≈ 230.732।
অ্যান্ডারস কাসরগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.