এর ভারসাম্য বজায় রাখার জন্য শের একপাশে ওজন যুক্ত করুন


13

সমীকরণ আইন

একটি দর্শনীয় (অনুমিতভাবে ফরাসী 'সি-'a' এর অর্থ, 'এটি-সেই' অর্থ) একইভাবে সর্বব্যাপী স্লাইড এবং সুইং সহ খেলার মাঠের সরঞ্জামগুলির পবিত্র ত্রিত্বের এক তৃতীয়াংশ গঠন করে। একটি দর্শনাগুলি নিখুঁত ভারসাম্য হয় যদি এবং কেবল তখনই, প্রতিটি পক্ষের মুহুর্তগুলির সমষ্টি সমান হয়। সুতরাং একটি করাতটি নিম্ন মুহুর্তের যোগফলের সাথে ওজনের একটি নির্দিষ্ট পরিমাণের যোগ করে ভারসাম্যপূর্ণ হতে পারে; এটি অর্জন এই চ্যালেঞ্জের জন্য আপনার লক্ষ্য।

চ্যালেঞ্জ

আপনার চ্যালেঞ্জটি হ'ল স-এর চিত্রটিকে ইনপুট হিসাবে ধরে নেওয়া এবং এটিকে আবার আউটপুট করুন, ভারসাম্যকে সামঞ্জস্য করার জন্য সি-এর এক প্রান্তে যুক্ত করে।

ইনপুট

আপনার প্রোগ্রামটি অবশ্যই কোনও যুক্তিসঙ্গত ফর্ম্যাটে, কোনও ASCII শের-শো যেমন:

100             100
-------------------
         ^         

প্রথম লাইনে দুটি সংখ্যা রয়েছে, প্রত্যেকে দেখে-ওতে ওজন উপস্থাপন করে। হুবহু প্রতিটি দিকে একটি ওজন উপস্থিত থাকে, প্রতিটি তক্তার পাশের একেবারে প্রান্তে অভিনয় করে। ওজনগুলি পূর্ণসংখ্যা হিসাবে গ্যারান্টিযুক্ত এবং সর্বদা তক্তার সাথে সম্পর্কিত প্রান্তের সাথে সারিবদ্ধ থাকে। এই সংখ্যাগুলি কখনই ফুলক্রাম ( ^) কে ওভারল্যাপ করে না ।

দ্বিতীয় লাইনটি করাতের 'তক্তা' উপস্থাপন করে। প্রতিটি ড্যাশ ( -) একে অন্যের ড্যাশের সমান দৈর্ঘ্যের প্রতিনিধিত্ব করে, ড্যাশটির একমাত্র ব্যতিক্রম সরাসরি ফুলক্রাম ( ^) এর উপরে, যার দৈর্ঘ্য নেই।

তৃতীয় রেখাটি করাতের কর্ণগুলির প্রতিনিধিত্ব করে। এই ফুলক্রামটি একমাত্র অক্ষর দ্বারা চিহ্নিত করা হয়েছে যা এই লাইনের কোনও স্থান নয়, একটি সারফ্লেক্স ('^')। ফুলক্রামটি বৈধ ইনপুটটিতে তক্তার দৈর্ঘ্য বরাবর যে কোনও জায়গায় অবস্থান করা যেতে পারে যতক্ষণ পর্যাপ্ত জায়গা বাকি থাকে যাতে ওজন উপস্থাপনকারী সংখ্যাগুলি ইনপুট বা আউটপুটে কোনওভাবেই ফুলক্র্যামকে ওভারল্যাপ না করে।

ইনপুটটিতে তিনটি লাইন থাকার গ্যারান্টিযুক্ত এবং বর্ণচিহ্ন গঠনের পূর্বে বা তার পরে কোনও শ্বেত-স্থান নেই (বাদে, তৃতীয় লাইন বাদে, এটির প্রয়োজন রয়েছে)।

আউটপুট

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

উদাহরণ-প্রদর্শন

পরীক্ষার ইনপুট এবং সংশ্লিষ্ট আউটপুট

ইনপুট ঘ

12                22
--------------------
             ^      

আউটপুট 1

12                26
--------------------
             ^      

ইনপুট 2

42       42
-----------
     ^     

আউটপুট 2

42       42
-----------
     ^     

ইনপুট 3

3             16
----------------
        ^      

আউটপুট 3

14            16
----------------
        ^      

ইনপুট 4

1                56
-------------------
    ^              

আউটপুট 4

196              56
-------------------
    ^              

রেফারেন্স বাস্তবায়ন - পাইথন 3

# Takes a list of strings as input
def balance_seesaw(lines):
    weights = [int(w.strip()) for w in lines[0].split()]

    length  = len(lines[1])
    pivot   = lines[2].find("^")
    left_length    = pivot
    right_length   = length - 1 - pivot

    left_torque  = weights[0] * left_length
    right_torque = weights[1] * right_length

    if left_torque > right_torque:
        weights[1] = left_torque // right_length
    elif right_torque > left_torque:
        weights[0] = right_torque // left_length

    weights = [str(w) for w in weights]

    string_gap = " " * (length - sum(len(w) for w in weights))
    lines[0] = weights[0] + string_gap + weights[1]

    print("\n".join(lines))

balance_seesaw(["1                56",
                "-------------------",
                "    ^              "])

বিধি

  • এটি , তাই সংক্ষিপ্ততম কোডটি বাইটে গণ্য হয়। বেটাগুলি গণনা আপনার ভাষাতে বিশ্রী হয় কিনা তা মেটা পরীক্ষা করে দেখুন।

  • স্ট্যান্ডার্ড বিধি / ফাঁকগুলি প্রয়োগ হয়।

  • ইনপুট অবশ্যই যুক্তিসঙ্গত ফর্ম্যাটে নেওয়া উচিত। যথাযথ বিন্যাসগুলির একটি অ-সম্পূর্ণ তালিকা নীচে দেওয়া হল:

    • নিউলাইন অক্ষর দ্বারা পৃথক করা লাইনের সাথে একটি একক স্ট্রিং
    • স্ট্রিংগুলির একটি তালিকা, প্রতিটি স্ট্রিং একটি লাইন উপস্থাপন করে
    • একটি 2D অ্যারে বা অক্ষরের ম্যাট্রিক্স

সম্পর্কিত চ্যালেঞ্জ



আপনি স্টপআউট আউটপুট চান কোন কারণ আছে? আমরা সাধারণত ফাংশনগুলিকে তাদের রিটার্ন ভ্যালু দিয়ে আউটপুট করতে দেয়।
করভাস_192

@ করভাস_192 আমি এএসসিআইআই আর্ট বা 'পতাকা আঁকুন' বা যেকোনো কিছুই এর মতো 'ডিসপ্লে' টাইপ চ্যালেঞ্জ হিসাবে কল্পনা করেছি। আউটপুট হিসাবে স্ট্রিংগুলির একটি তালিকা আসলে 'মানব বান্ধব' নয়। যদি কোনও ভাষার ইনবিল্ট স্টডআউট সমর্থন না করে তবে অন্য আউটপুট ফর্মগুলি অনুমোদিত।
ফোরঅফফোর

পিপিসিজিতে আপনাকে স্বাগতম! ভাল প্রথম চ্যালেঞ্জ। (এবং এটিতে স্যান্ডবক্স ব্যবহারের জন্য
প্রপসগুলিও

@ টিমিডি ধন্যবাদ, লোকেরা কীভাবে সমস্যাটি মোকাবেলা করে তা দেখে খুব মজা হয়েছে।
ফোরঅফফোর

উত্তর:


5

05AB1E ,60 51 50 49 47 45 বাইট

এমিগিনার কাছে 10 বাইট এবং আদনানের 1 টি বাইট সংরক্ষণ করা হয়েছে।

সমস্ত ইনপুট লাইনে অবশ্যই একই পরিমাণের অক্ষর থাকতে হবে।

#õKD³'^¡€gDŠ*¬-Os÷1®‚*D0›*+¬?DJg²gs-ð×?¤,²,³,

#                                             Split the first input line on spaces
 õKD                                          Push [first weight, second weight] twice
    ³'^¡€gD                                   Push both lengths from either side of the pivot '^' as an array [left, right] twice
           Š*                                 Multiply by weights to get torque
             ¬-O                              Evaluate rightTorque-leftTorque
                s÷                            Divide by each side's length to get the weights to add: [deltaLeft, deltaRight], keep integer values
                  1®‚                         Push [1,-1]
                     *D                       Yield [deltaLeft, -deltaRight]
                       0›*                    Replace the negative value by 0
                          +                   Add weights: old + deltaWeight
                           ¬?                 Print left weight
                             DJg              Take the size of total decimal representation
                                ²gs-ð×?       Print a string composed of filler spaces between both new weights
                                       ¤,     Print right weight and newline
                                         ²,³, Print the last two lines from input (unchanged)

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

থাম্বের নিয়ম থাকতে হবে, যেমন "যদি আপনার 05AB1E কোডটি 40 বাইটের বেশি হয় তবে আপনি সম্ভবত এটি ভুল করছেন"। এটি এত গল্ফযোগ্য মনে হয়, কোনও ধারণা স্বাগত!


1
একটি সূচনা জন্য ¬s¤s\‚হতে পারে õK
এমিগানা

1
kD²g->(‚¡€gআপনি যদি পরীক্ষার মামলার নীচের সারিতে নিখোঁজ স্থানগুলি যুক্ত করেন তবে হতে পারে
এমিগানা

1
বর্নানার জন্য ধন্যবাদ. আমি দেখতে পেয়েছি এটি রেফারেন্স অ্যালগরিদমের সাথে বেশ মিল (কোনও খারাপ জিনিস নেই) তবে সেখানেও কিছু চালাক কৌশল রয়েছে। 05 এবি 1 ই সম্পর্কে কিছু অর্থ হ'ল এটি অন্যান্য গল্ফিং ভাষার চেয়ে চতুর উত্তরগুলি প্রচার করে বলে মনে হচ্ছে - এটি সম্ভবত আমার প্রিয় বিশেষত যখন অন্তর্ভুক্ত ব্যাখ্যা রয়েছে।
ফোরহোফোর

1
চমৎকার উত্তর! আপনি এর 31SÍসাথে প্রতিস্থাপন করতে পারেন 1®‚:)
আদনান

1
আপনি সম্ভবত / ïসঙ্গে প্রতিস্থাপন করতে পারেন ÷?
এমিগানা

5

জাভাস্ক্রিপ্ট (ES6), 136

সম্ভবত এটি Chrome এ কাজ করছে না, কারণ এটি ডিস্ট্রাকচার্ড অ্যাসাইনমেন্ট এবং ডিফল্ট প্যারামিটার ব্যবহার করে।

মনে রাখবেন যে alertআনুপাতিক ফন্ট ব্যবহৃত হওয়ার কারণে মানক জেএস আউটপুট পদ্ধতিটি বিশেষত কাজের জন্য অনুপযুক্ত।

(m,n,o,[p,q]=m.split(/ +/),l=n.length,h=o.indexOf`^`,g=l-h-1,c=p*h<q*g?q*g:p*h)=>alert((c/h+o).slice(0,h)+(o+c/g).slice(h-l)+`
${n}
`+o)

কম গল্ফড

( m,n,o, // input parameters, 3 strings
  // default parameters used as local variables
  [p,q] = m.split(/ +/), // left and right weight
  l = n.length, // bar length
  h = o.indexOf`^`, // left length
  g = l-h-1, // right length
  // p*h left torque
  // q*g right torque
  c = p*h<q*g ? q*g : p*h // max torque
) => alert( (c/h+o).slice(0,h)+(o+c/g).slice(h-l) // o has enough spaces to pad left and right
     +`\n${n}\n`+o )

পরীক্ষা

F=
(m,n,o,[p,q]=m.split(/ +/),l=n.length,h=o.indexOf`^`,g=l-h-1,c=p*h<q*g?q*g:p*h)=>alert((c/h+o).slice(0,h)+(o+c/g).slice(h-l)+`
${n}
`+o)

function go()
{
  var [a,b,c]=I.value.split('\n')
  if(a.length!=b.length || a.length < c.length)
    alert('The strings are not of the same length')
  else 
  {  
    if (a.length > c.length)
      c = c+' '.repeat(a.length-c-length)
    F(a,b,c)
  }  
}
<textarea id=I>3             16
----------------
        ^      </textarea>
<button onclick='go()'>go</button>


Kangax.github.io/compat-table/es6 এর মতে , ক্রোম 54 ডিফল্ট পরামিতিগুলি এবং ধ্বংসগুলি সম্পূর্ণরূপে সমর্থন করে, তাই আপনার খুব বেশি চিন্তা করতে হবে বলে আমি মনে করি না।
ETH প্রোডাকশনস

আমার জন্য ক্রোমে কাজ করে।
DLosc

3

পার্ল, 149 + 2 = 151 টি অক্ষর

কমান্ড লাইন বিকল্পের প্রয়োজন -p0(এটি আমাকে প্রোগ্রামের 149 বাইটের উপরে 2 বাইট জরিমানা দেয়)।

($_,$b,$c,$d)=map length,/(\d+) +(.+)
(-+)
( +)/;$r=$d/($c-$d-1);($x,$y)=$1*$r>$2?($1,$1*$r):($2/$r,$2);$_="$x$,$y",$,.=$"while$c>length;$\="
$3
$4^"

ব্যাখ্যা:

  • -p0সুইচ প্রথম NUL বাইট বা ফাইলের শেষে পর্যন্ত সমগ্র ইনপুট পড়ে। এই সমস্যাটি NUL- কে অনুমতি দেয় না, তাই আমরা $_পূর্বনির্ধারিতভাবে রেজেক্সেস ইত্যাদির জন্য ব্যবহৃত ভেরিয়েবলের পুরো ইনপুটটি পেয়ে যাব ।
  • আমরা একটি রেইজেক্স দিয়ে শুরু করি যা ইনপুটটিকে পার্স করে (প্রথম এবং দ্বিতীয় স্ল্যাশের মধ্যে)। আমরা প্রথম ওজন (উদাহরণস্বরূপ .+?) পার্স করার বিভিন্ন উপায় আছে তবে আমি এটি 3 টি অক্ষরের নীচে পেতে পারি না যাতে আমি পাশাপাশি স্পষ্টত ব্যবহার করতে পারি \d+। দ্বিতীয় সংখ্যাটি লাইনের শেষে রয়েছে যাতে এটি .+(2 টি অক্ষর) হিসাবে বিভাজন করা যায় । কেন্দ্রীয় লাইনটি স্কেলগুলি কত প্রশস্ত তা নির্ধারণ করতে ব্যবহৃত হয়; এটি পার্স করা হয়েছে -+(আরও অনেক উপস্থাপনা কাজ করবে)। শেষ লাইনে ক্যারেটের আগে ফাঁকা জায়গা +। ক্যারেটটি (বা প্রকৃতপক্ষে কোনও ননস্পেস) প্রদর্শিত হয়ে গেলে, আমরা বাকি ইনপুটটিকে উপেক্ষা করি।
  • পার্ল স্বয়ংক্রিয়ভাবে মধ্যে Regex চার গ্রুপ (প্রথম ওজন, দ্বিতীয় ওজন, হাইফেন সারি, স্পেস ক্যারেট আগে) ধারন করে $1, $2, $3, $4mapঅতিরিক্ত হিসাবে মানচিত্রে অ্যারে হিসাবে groups গোষ্ঠীগুলির একটি অ্যারে ব্যবহার করে একটি যুক্তি হিসাবে একটি রেজেক্স প্রদান করা। সুতরাং আমরা তাদের দৈর্ঘ্য গ্রহণ; দু'বার লিখতে না পেরে দৈর্ঘ্যের দৈর্ঘ্য সঞ্চয় করা $3এবং $4এটি একটি সহজ উপায় length। আমরা $_দৈর্ঘ্যের সাথে ওভাররাইটও করি $1; আমরা এর মান সম্পর্কে সত্যই চিন্তা করি না (বাম ইনপুটটিতে অঙ্কের সংখ্যাটি এক ধরণের অকেজো) তবে সত্য যে এটি সংক্ষিপ্ত ( $_এর দৈর্ঘ্যটি এখন সংখ্যার সংখ্যায় অঙ্কের সংখ্যা) প্রথম ওজন, যা স্কেলগুলির প্রস্থের তুলনায় অগত্যা খুব কম)।
  • আমরা সেই অনুপাতটি পরিমাপ করি $rযেখানে স্কেলগুলি বিভক্ত।
  • $1*$r>$2কোন দিকটি ভারী তা পরীক্ষা করে দেখুন। আমরা নতুন ওজন ভিতরে $xএবং সঞ্চয় $y; ওজনের অনুপাতটি জানা হয়ে গেলে এগুলির খুব সাধারণ গণনা থাকে।
  • আমরা কনক্যাটেনেট $x, $,এবং $yমধ্যে $_শীর্ষ সারিতে উত্পাদন, তারপর যোগ স্থান (রাখতে $"ডিফল্টরূপে একটি একক স্থান রয়েছে, এবং খাটো একটি আক্ষরিক স্থান চেয়ে ' 'হবে) সম্মুখের $,পর্যন্ত এটি মধ্যম সারি হিসাবে একই দৈর্ঘ্য এর (অর্থাত দৈর্ঘ্য $c)। (আমি ভেরিয়েবলটি $,একটি বিল্ট-ইন ভেরিয়েবল হিসাবে বেছে নিয়েছি যা নিরাপদে এই প্রসঙ্গে পরিবর্তন করা যায় এবং এটি ডিফল্টরূপে খালি শুরু হয়)) ডিফল্টরূপে lengthঅপারেশন হিসাবে $_আমাদের এটিকে স্পষ্টভাবে একটি যুক্তি দেওয়ার দরকার নেই। আমি একটি Yoda শর্তসাপেক্ষ ব্যবহার করেছি কারণ এটি সঠিকভাবে বিশ্লেষণের জন্য যথেষ্ট কম বিতর্কিত বাক্য গঠন প্রয়োজন।
  • অবশেষে, পার্লের সমাপ্তি সমাপ্তির আউটপুট লাইনটির ধারণাটি পুনরায় সংজ্ঞায়িত করেছি $\(যা ইনপুট হিসাবে একই, সুতরাং আমি কেবল এটি ব্যবহার করতে পারি $3এবং $4সরাসরি এর প্রচুর পরিমাণে উত্পাদন করতে পারি)। মনে রাখবেন এর অর্থ এই যে তৃতীয় লাইনে কোনও পূর্ববর্তী সাদা স্থান নেই; এটি যুক্ত করার ফলে প্রোগ্রামটি কিছুটা দীর্ঘ হয়ে যাবে এবং মনে হয় কোনও উদ্দেশ্য হয় না, তাই আমি এটিকে ছেড়ে দিয়েছি।
  • প্রোগ্রাম শেষে, -pস্যুইচ আবার ট্রিগার; এবার এটি $_"নিউলাইন" ( $\) এর পরে আউটপুট দেয় । আমি আউটপুট নতুনলাইনটিকে নতুনভাবে সংজ্ঞায়িত করার কারণে, এই দুটি অন্তর্নিহিত প্রিন্টগুলি তাদের মধ্যে নতুন আকারের স্কেল তৈরি করে (যদিও পার্শ্ব প্রতিক্রিয়া হিসাবে, আউটপুটটিতে কোনও নতুন লাইন নেই)।
  • -pসুইচ এখন ইনপুট আবার পড়তে করার চেষ্টা করে, কিন্তু আমরা ইতিমধ্যে সম্পূর্ণ ফাইল slurped, তাই এটি ফাইলের শেষে লেখা আছে এবং প্রোগ্রাম শেষ।

1

পিএইচপি, 212 209 205 বাইট

সম্ভবত গল্ফযোগ্য

preg_match("#(\d+)( +)(\d+)\s*(-+)[\r\n]+( +)\^#",$s=$argv[1],$m);echo preg_replace("#\d+( +)\d+#",(($r=$m[3])>($q=$m[1]*($p=strlen($m[5]))/(-$p-1+$e=strlen($m[4])))?$r*$e/($p+1)-$q=$r:$m[1]).$m[2].$q,$s);

কমান্ড লাইন আর্গুমেন্ট থেকে ইনপুট নেয়; নিউলাইনস এড়ানো। সাথে চালাও -r


স্থানধারকের সাথে প্রতিস্থাপন করা প্রত্যাশার মতো কাজ করে নি; সুতরাং আমাকে প্রথম রেজিজেতে আরও প্যারেন্স যুক্ত করতে হয়েছিল।


1

Befunge, 223 217 বাইট

&:00p&10p~$0>~#<2#+%#1_:20p0~>8#~%#+!#1_:3v
v\g01/g03*g01_v#!\g04`*g01g04:*g03p04-1-p0<
>#g>#0>#0>#/>#<:.2\5>5>#\+/#1:#\_$50p:50g\5>5>#\+/#1:#\_$20g\-v>
1#,>#*-#4:#8_$.55+,20g>:#,1#*-#9\#5_55+,30g>:#,1#*-#8\#4_"^",@>>

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


215 বাইট , আমার মনে হয়
জাকারি

@ জ্যাচারý আমি ভয় করি না। কমপক্ষে ar তীরগুলির মধ্যে একটির প্রয়োজন, অন্যথায় এটি যখনই বাম টর্কে> ডান টর্ক (উদাহরণস্বরূপ প্রথম পরীক্ষার কেস) বামে ব্যর্থ হবে। >আমার মনে হয় অন্যটি কেবল নান্দনিক কারণে বাকি ছিল। এটি বলেছিল, আমার নোটগুলিতে আমার 215 বাইট সমাধান রয়েছে বলে মনে হচ্ছে, তাই এটি সম্ভবত সম্ভব হতে পারে (এটি আমার কাছে এমন বাগ রয়েছে যা ব্যাখ্যা করবে যে আমি কেন তা জমা দিইনি - এখনই এটি পরীক্ষা করার সময় নেই)।
জেমস হোল্ডারেন্স

1

পাইথন 2, 184 183 বাইট

অবশ্যই গল্ফযোগ্য

i=raw_input
j=int
w=map(j,i().split())
W=len(i())
I=i().find('^')
R=W-I-1
a=[w[1]*R/I,w[0]*I/R]
h=a[1]>w[1]
w[h]=j(a[h])
k='\n'
print(' '*(W-len(str(w))+4)).join(map(str,w))+k+'-'*W+k+' '*I+'^'

অনেকটাই অকপট. উভয় পক্ষকে সামঞ্জস্য করার জন্য সামঞ্জস্য করা ওজনগুলি নিন, আসলটির চেয়ে বড়টি আরও দেখুন এবং এটি পরিবর্তন করুন এবং আউটপুট।

সম্পাদনা গুণ এবং বিভাগটি পরিবর্তন করে কারণ পূর্ণসংখ্যা বিভাগটি অপ্রচারিত (এটি দেখার জন্য @ জনাথন অ্যালানকে ধন্যবাদ)

সম্পাদনা -1 বাইট এ পরিবর্তন করা i().index('^')হয়েছে i().find('^')(@ জোনাথন অ্যালানকে ধন্যবাদ [আবার!])


অর্থাত - তুমি গুণ এবং বিভাগ অদলবদল করা উচিত যেহেতু বিভাজন বিভাজন পূর্ণসংখ্যা a=[w[1]*R/I,w[0]*I/R](ক সহজ উদাহরণ একটি হবে না 1এবং 2সঙ্গে Iএবং Rউভয় 3)। বর্তমানে 194 না 184 প্রণালী দ্বারা যেহেতু নতুন লাইন একটি বাইট প্রতিটি যেমন গণনা কিন্তু jএবং kআরো খোয়াতে সেটি ব্যতীত তারা রক্ষা বাইট।
জোনাথন অ্যালান

আপনি শেষ লাইনটি তৈরি করতে এবং ব্যাকটিক্সের I=i().find('^')সংক্ষিপ্ত রূপটি ব্যবহার করতে পারেন এবং 182 এ নামতে পারেন - repl.it/EW8f__repr__print`w[0]`+' '*(W-len(`w`)+4)+`w[1]`+'\n'+'-'*W+'\n'+' '*I+'^'
জোনাথন অ্যালান

0

সি ++ 14, 482 বাইট

include<iostream>#include<string>#include<math.h>usingnamespacestd;intmain(){stringa,b,c,d;intj=0;inte[2];getline(cin,a);getline(cin,b);getline(cin,c);for(inti=0;i<a.size();i){if(isdigit(a.at(i))){while(i<a.size()&&isdigit(a.at(i))){d=a.at(i);i;}e[j]=stoi(d);d="";}}strings(b.size()-(int)log10(e[0])-(int)log10(e[1])-2,'');intl1=(c.size()-1);intl2=(b.size()-c.size());intl=e[0]*l1;intr=e[1]*l2;if(l>r)e[1]=l/l2;elsee[0]=r/l1;cout<<e[0]<<s<<e[1]<<endl;cout<<b<<endl;cout<<c;return0;}

আরও পঠনযোগ্য সংস্করণ:

#include <iostream>
#include <string>
#include <math.h>
using namespace std;
int main() {
    string a,b,c,d;
    int j=0;
    int e[2];
    // input
    getline(cin,a);// 1st line
    getline(cin,b);// 2nd line
    getline(cin,c);// 3rd line
    for (int i=0;i<a.size();i++) {
        if(isdigit(a.at(i))){
            while(i<a.size() && isdigit(a.at(i))){
                d+=a.at(i);
                i++;
            }
            e[j++]=stoi(d);
            d="";
        }
    }
    // amount of white space in between 2 numbers
    string s(b.size()-(int)log10(e[0])-(int)log10(e[1])-2,' ');
    int l1 = (c.size()-1);
    int l2 = (b.size()-c.size());
    int l = e[0]*l1;
    int r = e[1]*l2;
    // change the side with smaller torque
    if (l>r)
        e[1]=l/l2;
    else
        e[0]=r/l1;
    // output
    cout<<e[0]<<s<<e[1]<<endl;// 1st line
    cout<<b<<endl;// 2nd line
    cout<<c;// 3rd line
    return 0;
}

0

পাইথন 3, 235 230 বাইট (সংক্ষিপ্ত রেফারেন্স)

আমি কেবলমাত্র রেফারেন্সটি হ্রাস করেছি, যেহেতু আমি কোড-গল্ফিংয়ে খুব নতুন।

def s(l):
 w,i,t=[int(z.strip())for z in l[0].split()],len(l[1]),l[2].find("^");k,o=i-1-t,w[0]*t;p=w[1]*k
 if o>p:w[1]=o//k
 else:w[0]=p//t
 w=[str(z)for z in w];s=" "*(i-sum(len(z)for z in w));l[0]=w[0]+s+w[1];print("\n".join(l))

আপনি উদাহরণ হিসাবে ঠিক এটি ব্যবহার, কিন্তু ফাংশন sপরিবর্তে হয় balance_seesaw


5 এবং 6 লাইন হয়ে উঠতে পারে w[o>p]=[o//k,p//t][o>p]। এছাড়াও, কিছু অতিরিক্ত শ্বেতস্থান থেকে মুক্তি পেতে বেশিরভাগ লাইন যুক্ত হতে পারে।
জেমস

ধন্যবাদ, যেমনটি আমি বলেছিলাম, আমি খুব নতুন, তাই আমি এমনকি সহজতম সমাধানগুলিও উপেক্ষা করি।
ender_scythe

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