আমার কত মন দরকার?


33

ডানগাঁও মাস্টার প্রথমবারের মতো রিয়েল-টাইম রোল-প্লে গেমগুলির মধ্যে একটি ছিলেন, যা মূলত ১৯৮ in সালে আতারি এসটি-তে প্রকাশিত হয়েছিল। সময়ের জন্য অন্যান্য উত্তেজনাপূর্ণ জিনিসের মধ্যে এটি রুনসের উপর ভিত্তি করে একটি বরং পরিশীলিত স্পেল সিস্টেম অফার করেছিল।

আজ আপনার কাজ হ'ল এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা ডানগাঁও মাস্টারে প্রদত্ত স্পেল দেওয়ার জন্য প্রয়োজনীয় মান পয়েন্টগুলির সংখ্যাটি মূল্যায়ন করে।

অন্ধকূপ মাস্টার স্ক্রিনশট

উপরের ছবিতে 'স্পেল কাস্ট' সিস্টেমটি ডানদিকে রাইট সায়ান বক্স।

বানান, রুনস এবং মানা

অন্ধকূপে মাস্টার বানান 2 থেকে 4 রুনের সমন্বয়ে গঠিত হয়, নিম্নলিখিত বিভাগের মধ্যে চয়ন করা হয়, এই সঠিক ক্রমে:

  1. শক্তি (বাধ্যতামূলক)
  2. প্রাথমিক প্রভাব (বাধ্যতামূলক)
  3. ফর্ম (alচ্ছিক)
  4. শ্রেণি / প্রান্তিককরণ (alচ্ছিক)

এর অর্থ হ'ল বৈধ বানানগুলি হ'ল:

  • শক্তি + প্রাথমিক প্রভাব
  • শক্তি + প্রাথমিক প্রভাব + ফর্ম
  • শক্তি + প্রাথমিক প্রভাব + ফর্ম + শ্রেণি / প্রান্তিককরণ

প্রতিটি বিভাগে 6 রান রয়েছে এবং প্রতিটি রুনের সাথে সম্পর্কিত বেস মান রয়েছে:

=============================================================================
| Power               | Rune      |   Lo |   Um |   On |   Ee |  Pal |  Mon |
|                     +-----------+------+------+------+------+------+------+
|                     | Base cost |    1 |    2 |    3 |    4 |    5 |    6 |
=============================================================================
| Elemental Influence | Rune      |   Ya |   Vi |   Oh |  Ful |  Des |   Zo |
|                     +-----------+------+------+------+------+------+------+
|                     | Base cost |    2 |    3 |    4 |    5 |    6 |    7 |
=============================================================================
| Form                | Rune      |  Ven |   Ew | Kath |   Ir |  Bro |  Gor |
|                     +-----------+------+------+------+------+------+------+
|                     | Base cost |    4 |    5 |    6 |    7 |    7 |    9 |
=============================================================================
| Class / Alignment   | Rune      |   Ku |  Ros | Dain | Neta |   Ra |  Sar |
|                     +-----------+------+------+------+------+------+------+
|                     | Base cost |    2 |    2 |    3 |    4 |    6 |    7 |
=============================================================================

মান ব্যয় মূল্যায়ন

বানানের মান খরচ হ'ল সমস্ত রানসের মান ব্যয়ের যোগফল:

  • পাওয়ার রুনের ব্যয় সর্বদা এর বেস ব্যয়ের সমতুল্য হয় (1 থেকে 6 পর্যন্ত)।

  • অন্যান্য রানসের জন্য, নিম্নলিখিত সূত্রটি প্রয়োগ করা হয়:

    ব্যয় = তল ((পাওয়ার + 1) * বেস_কাস্ট / 2)

    যেখানে ক্ষমতা পাওয়ার জাদুঅক্ষর বেস খরচ নেই।

উদাহরণ

Spell: Lo Ful
Cost : 1 + floor((1 + 1) * 5 / 2) = 1 + 5 = 6

Spell: Um Ful
Cost : 2 + floor((2 + 1) * 5 / 2) = 2 + 7 = 9

Spell: Pal Vi Bro
Cost : 5 + floor((5 + 1) * 3 / 2) + floor((5 + 1) * 7 / 2) = 5 + 9 + 21 = 35

ব্যাখ্যা এবং বিধি

  • আপনার ইনপুটটিতে 2 থেকে 4 টি স্ট্রিং থাকবে যা বানানের রুনগুলি নির্ধারণ করে। আপনি এগুলি যে কোনও যুক্তিসঙ্গত বিন্যাসে নিতে পারেন, যেমন 4 স্বতন্ত্র প্যারামিটার, স্ট্রিংগুলির একটি অ্যারে (উদাহরণস্বরূপ ['Lo', 'Ful']), বা আপনার পছন্দের একক-অক্ষর পৃথককারী (উদাহরণস্বরূপ 'Lo Ful') সহ কেবল একটি স্ট্রিং । আপনার উত্তরে নির্বাচিত ইনপুট ফর্ম্যাটটি নির্দিষ্ট করুন।
  • রানগুলি বৈধ হওয়ার গ্যারান্টিযুক্ত।
  • বিভাগগুলির ক্রম অবশ্যই সম্মান করা উচিত। অব্যবহৃত বিভাগগুলি হয় নিখোঁজ বা কিছু মিথ্যা মান দিয়ে প্রতিস্থাপিত হতে পারে।
  • আপনি এই বিন্যাসগুলির যে কোনওটিতে রুনস গ্রহণ করতে পারেন: ১. ছোট হাতের অক্ষর অনুসারে একটি বড় অক্ষর ( 'Ful') ২) সমস্ত নিম্নতর কেস ( 'ful') ৩. সমস্ত আপার কেস ( 'FUL')। তবে আপনি বিভিন্ন ফর্ম্যাট মিশ্রিত করতে পারবেন না
  • স্পষ্টতই, স্পেলের আসলেই গেমটির কিছু প্রভাব আছে কিনা তা আমাদের জানা নেই ( কৌতূহলের জন্য দরকারী বানানগুলি এখানে তালিকাভুক্ত করা হয়েছে ।)
  • এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
  • এবং মনে রাখবেন: লর্ড চাওস আপনাকে দেখছেন!

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

Spell          | Output
---------------+-------
Lo Ful         | 6
Um Ful         | 9
On Ya          | 7
Lo Zo Ven      | 12
Pal Vi Bro     | 35
Ee Ya Bro Ros  | 31
On Ful Bro Ku  | 31
Lo Zo Kath Ra  | 20
On Oh Ew Sar   | 35
Ee Oh Gor Dain | 43
Mon Zo Ir Neta | 68
Mon Des Ir Sar | 75

1
স্পর্শকাতর - তবে এই সিস্টেমটির মতো লোকদের জন্য, দ্য ম্যাজিকাল ল্যান্ড অফ ওওজ একটি জাপানি এসএনইএস গেম (ইংরেজি অনুবাদ উপলব্ধ) যা প্রায় একই সিস্টেম প্রয়োগ করে - যেখানে কোনও অক্ষরের স্ট্রিং একটি স্পেল হয়ে যায়। google.co.jp/webhp?ie=UTF-8#q=matory+land+of+wozz
কোটি জননাথান স্যাক্সমান

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

@ নীল এই নেকলেস সম্ভবত মুনস্টোন (+3 মানা) বা দুল ফেরেল (+1 উইজার্ড দক্ষতা) ছিল। সমস্ত আইটেম এখানে তালিকাভুক্ত করা হয়
আর্নৌল্ড

এই স্ক্রিপ্টটিতে সমস্ত সম্ভাব্য ইনপুট সংমিশ্রণগুলি আউটপুট করা উচিত
NieDzejkob

উত্তর:


6

এসওজিএল ভি0.12 , 110 78 বাইট

θKKι"LUOEPM”;W:A≤{B"⁶Μ↓§QΕņj“L─"¶Ζq«╝γDyΜ2¶S◄Μ$‘č¹I6nēwι{_Cb:ƧRA=┌*ΚKι=?aIc*»+

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

সবকিছু আবার করা থেকে সম্ভবত একটি বাইট বা দুটি গল্ফ করতে পারে

ব্যাখ্যা:

θ            split on spaces
 K           pop the 1st item
  K          pop from the string the 1st character
   ι         remove the original string from stack
    "”;W     get the chars index in "LUOEPM"
        :A   save a copy to variable A
          ≤  put the power (used as the mana) on the bottom of the stack (with the thing above being the input array)

{            for the leftover items in the input do
 B             save the current name on B
  "..“         push 456779223467234567
      L─       base-10 decode it (yes, silly, but it converts it to an array of digits)
        ".‘    push "VEKIBGKRDN-SYVOFDZ"

      č        chop to characters
       ¹       create an array of those two
        I      rotate clockwise
         6n    group to an array with sub-arrays of length 6 (so each array in the array contains 3 items, corresponding to the categories, each with 6 arrays with the runes 1st letter (or "-" in the case of Ra) and base cost)
           ē   push variable e (default = user input number, which errors and defaults to 0) and after that increase it (aka `e++`)
            w  get that item in the array (the array is 1-indexed and the variable is not, so the array was created shifted (which somehow saves 0.9 ≈ 1 byte in the compression))

 ι             remove the original array
  {            for each in that (current category) array
   _             dump all contents on stack (so pushing the runes name and then base cost)
    C            save pop (base cost) on variable B
     b:          duplicate the name
       ƧRA=      push if pop = "RA"
           ┌*    get that many (so 0 or 1) dashes
             Κ   prepend the "" or "-" to the name
              K  pop the 1st letter of the name
               ι remove the modified name, leaving the 1st letter on the stack

         =?      if top 2 are equal (one of the dumped items and the 1st letter of the current inputs)
           a       push variable A (the power)
            I      increase it
             c     push variable C (the current base cost)
              *    multiply
               »   floor-divide by 2
                +  add that to the power

2
এটাই এটিকে আরও আকর্ষণীয় করে
তুলেছে

আপনি একটি ব্যাখ্যা যোগ করতে পারেন?
ক্যালকুলেটরফলাইন

ক্যালকুলেটরফ্লাইন কিন্ডা এই উত্তরটি ভুলে গিয়েছিলেন। সম্ভবত গল্ফ হবে এবং তারপরে একটি ব্যাখ্যা যুক্ত করবে
ডিজাইমা

17

পাইথন 2 , 135 119 115 বাইট

b=[int('27169735 2  4567 435262'[int(x,36)%141%83%50%23])for x in input()]
print b[0]+sum(a*-~b[0]/2for a in b[1:])

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

স্ট্যান্ডিনের স্ট্রিংগুলির তালিকা ইনপুট


ছাড়িয়ে গেছে ...> ...
মিঃ এক্সকোডার

আমি আপনার টিআইও ইনপুট পদ্ধতিটি আমার উত্তরেও অনুলিপি করেছি, আশা করি আপনি আপত্তি করবেন না।
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার আমি এখন সমস্ত পরীক্ষার কেস অন্তর্ভুক্ত করেছি। আপনি চাইলে সেগুলি অনুলিপি করতে পারেন
ওভস

ওও, সূচকে সুন্দরভাবে করা হয়েছে - মন যদি আমি আমার জেএস সমাধানের জন্য এটি ধার করি তবে?
শেগি

11

05AB1E , 83 82 বাইট

.•Y<εΔ•¹нk©.•M₄P畲нkÌ.•Jrû •³нkD(i\ë4 3‡4+}.•A1Δ#•I4èkD(i\ë3LJ012‡Ì})ćsv®>y*;(î(+

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

-1 এমিনগাকে ধন্যবাদ ।

SOOOOOOO অসমাপ্ত :(

ব্যাখ্যা:

.•Y<εΔ•¹нk©.•M₄P畲нkÌ.•Jrû •³нkD(i\ë4 3‡4+}.•A1Δ#•I4èkD(i\ë3LJ012‡Ì})ćsv®>y*;(î(+ Accepts four runes as separate lines, lowercase. Use Ø for missing runes.
.•Y<εΔ•¹нk©                                                                        Index first letter of first rune into "aluoepm" ("a" makes 1-indexed)
           .•M₄P畲нkÌ                                                             Index first letter of second rune into "yvofdz", 2-indexed.
                      .•Jrû •³нkD(i\ë4 3‡4+}                                       Index first letter of third rune into "vekibg", 0-indexed, if it's not there pop, else, if index is 4 replace with 3, else keep as-is, then increment by 4.
                                            .•A1Δ#•I4èkD(i\ë3LJ012‡Ì}              Index fourth letter (modular wrapping) of fourth rune into "kodnra", if it's not there pop, else, if index is one of 1, 2 or 3, replace with 0, 1 or 2 respectively, else keep as-is, then increment by 2.
                                                                     )ćs           Wrap all numbers into a list, keeping the power rune behind.
                                                                        v          For each
                                                                         ®>y*;(î(   Apply the formula
                                                                                 +  Add to total sum

একটি ছোট গল্ফ হ'ল আপনি যদি .•Y<εΔ•শুরুতে সূচক করেন তবে আপনার সূচকটি বাড়ানোর দরকার নেই।
এমিগানা

@ এমিগনা ওহ এখনও চেষ্টা করার সময় পাননি ...
এরিক দি আউটগলফার

11

জাভাস্ক্রিপ্ট (ES6), 157 156 116 112 100 99 97 বাইট

স্ট্রিংগুলির অ্যারে হিসাবে ইনপুট নেয়।

a=>a.map(c=>t+=(v=+`27169735020045670435262`[parseInt(c,36)%141%83%50%23],+a?a*v+v>>1:a=v),t=0)|t
  • ডিম্বাশয়ের পাইথন দ্রবণ থেকে সূচক কৌশলটি ধার করে একটি বিশাল 44 বাইট সংরক্ষণ করা হয়েছে - আপনি যদি এই উত্তরটি সমর্থন করে থাকেন তবে দয়া করে সেটিকেও উত্সাহিত করুন।
  • আর্নৌল্ডকে তিনটি বাইনারি ব্যবহার করার সুস্পষ্ট সুযোগ কী হওয়া উচিত তা নির্দেশ করে ধন্যবাদ জানাতে 13 বাইট সংরক্ষণ করা হয়েছে।

অনলাইনে চেষ্টা করে দেখুন!


ব্যাখ্যা

হু, ছেলে, এটি মজা পাবে - তুচ্ছ সমাধানের জন্য আমার ব্যাখ্যাগুলি সেরা সময়ে স্তন্যপান হয়! আসুন এটি একবার ...

a=>

প্যারামিটারের মাধ্যমে অ্যারেটিকে আর্গুমেন্ট হিসাবে গ্রহণ করে একটি বেনামি ফাংশন a

a.reduce((t,c)=>,0)

একটি ফাংশন মাধ্যমে প্রতিটি পাস করে অ্যারে উপাদানগুলি হ্রাস করুন; tপরামিতি, দৌড়ানো মোট cপ্যারামিটার বর্তমান স্ট্রিং এবং 0প্রাথমিক মান t

parseInt(c,36)

বর্তমান উপাদানটি বেস 36 স্ট্রিং থেকে দশমিক পূর্ণসংখ্যায় রূপান্তর করুন।

%141%83%50%23

এটিতে কয়েকটি মডুলো অপারেশন করুন।

+`27169735 2  4567 435262`[]

সেই সূচকে স্ট্রিং থেকে চরিত্রটি ধরুন এবং এটিকে একটি সংখ্যায় রূপান্তর করুন।

v=

এই সংখ্যাটি ভেরিয়েবলের জন্য বরাদ্দ করুন v

+a?

ভেরিয়েবল aএকটি সংখ্যা কিনা তা পরীক্ষা করুন । প্রথম উপাদানটির জন্য aথাকবে স্ট্রিংগুলির অ্যারে, এটি একটি সংখ্যায় রূপান্তর করার চেষ্টা করে ফিরে আসবে NaN, যা মিথ্যা। পরবর্তী প্রতিটি পাসে aএকটি ধনাত্মক পূর্ণসংখ্যা হবে, যা সত্য।

a*v+v>>1

যদি aএকটি সংখ্যা হয় তবে আমরা এটির মান দ্বারা গুণিত করব v, এর মান যুক্ত করব vএবং ফলাফলের বিটগুলি 1 টি বিটটি ডানদিকে স্থানান্তর করব, যা 2 এবং বিভাজন দ্বারা বিভাজন হিসাবে একই ফলাফল দেয়।

:a=v

যদি aএকটি নম্বর না হয় তবে আমরা এর মান নির্ধারণ vকরি, যা 0আমাদের প্রথম পাসে আমাদের মোট যোগ করতে একটি সংস্থান দেবে।

t+

পরিশেষে, আমরা উপরের ত্রৈমাসিক থেকে আমাদের চলমান মোটে ফলাফল যুক্ত করি।


আসল, 156 বাইট

a=>a.reduce((t,c)=>t+(p+1)*g(c)/2|0,p=(g=e=>+`123456234567456779223467`["LoUmOnEePaMoYaViOhFuDeZoVeEwKaIrBrGoKuRoDaNeRaSa".search(e[0]+e[1])/2])(a.shift()))

a=>a.reduce((t,c)=>t+(v=+'27169735020045670435262'[parseInt(c,36)%141%83%50%23],+a?a*v+v>>1:a=v),0)এটিকে পুনরায় ব্যবহার করে আপনি আরও একটি বাইট সংরক্ষণ করতে পারেন: (EDIT: ইনপুটটিতে পাস করা পূর্ণসংখ্যা সম্পর্কে একটি অপ্রাসঙ্গিক মন্তব্য সরিয়ে নিয়েছে - দেখে মনে হচ্ছে আমি নিজের চ্যালেঞ্জটি খুব ভালভাবে বুঝতে পারি নি ^^)
আরনাউল্ড

ঝরঝরে কৌশল, ধন্যবাদ, @ আর্নল্ড d এমন একটি গণনা নিয়ে আসার চেষ্টা করছি যা আমাকে এই মুহূর্তে কম বাইটে ইনডেক্স করছে তবে খুব বেশি ভাগ্য নেই এমন নম্বর দেবে।
শেগি

6

জাভাস্ক্রিপ্ট, 212 210 207 206 বাইট

সোজা-ফরওয়ার্ড অনুসন্ধানের অ্যালগরিদম, অনুসন্ধানের স্ট্রিংগুলি কেবলমাত্র মোট বাইটে অবদান রাখছে।

কোড

s=>eval('p=q=+(e=s.map(r=>"1 2 3 4 5  6  2 3 4 5  6  7 4  5 6   7 7  9  2 2  3   4   6 7"["LoUmOnEePalMonYaViOhFulDesZoVenEwKathIrBroGorKuRosDainNetaRaSar".search(r)])).shift();e.map(c=>p+=((q+1)*c)>>1);p')

ছক পূরণ করা

স্ট্রিং অ্যারে, প্রতিটি আইটেম প্রথম অক্ষরের মূলধনযুক্ত স্ট্রিং। উদাহরণ: ["সোম", "জো", "ইর", "নেতা"]

ব্যাখ্যা

e=s.map(r=>"1 2 3 4 5  6  2 3 4 5  6  7 4  5 6   7 7  9  2 2  3   4   6 7"["LoUmOnEePalMonYaViOhFulDesZoVenEwKathIrBroGorKuRosDainNetaRaSar".search(r)])

প্রাথমিক ব্যয়ের জন্য এই প্রশ্নগুলি।

p=q=+(/*blah*/).shift() 

উপরের অ্যারের ফলাফল থেকে প্রথম আইটেমটি দিয়ে 2 টি ভেরিয়েবল সূচনা করে এবং সেই আইটেমটি সরিয়ে দিন। অবশ্যই প্রথম সংখ্যায় কাস্ট করতে হবে, অন্যথায় এটি পরের অংশে স্ট্রিং কনটেন্টেশন হিসাবে বিবেচিত হবে।

e.map(c=>p+=((q+1)*c)>>1);

বেস পাওয়ারের সাথে অ-পাওয়ার রানগুলির ব্যয় যুক্ত করে। শিফ্টিং ফ্লোর (ব্লাহ) / 2 এর পরিবর্তে ব্যবহৃত হয়।

eval(/*blah*/;p)

শেষ ফলাফল মূল্যায়ন। (ক্রেডিট: স্টেপ হেন)

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

Lo Ful | 6
Um Ful | 9
On Ya | 7
Lo Zo Ven | 12
Pal Vi Bro | 35
Ee Ya Bro Ros | 31
On Ful Bro Ku | 31
Lo Zo Kath Ra | 20
On Oh Ew Sar | 35
Ee Oh Gor Dain | 43
Mon Zo Ir Neta | 68
Mon Des Ir Sar | 75

সম্পাদনা 1: 212> 210 - ধনুর্বন্ধনী একজোড়া সরানো

সম্পাদনা 2: 210> 207 - জেএস বিধি সম্পর্কে অনুস্মারক এবং ইভাল () ফাংশনটি ব্যবহার করার বিষয়ে কিছু ইঙ্গিত দেওয়ার জন্য ধাপে মুরগীটিকে ধন্যবাদ জানাই। যেহেতু AS3 eval () ব্যবহার করতে নিষেধ করেছে আমি দীর্ঘদিন এটি ব্যবহার করি না

3 সম্পাদনা করুন: 207> 206 - অনুসন্ধানের সাথে সূচী ()) এর পরিবর্তে ইনডেক্সফ () এর পরিবর্তনের ধারণার জন্য ধন্যবাদ শেগি


1
আপনি যদি না gভিতরে প্রবেশ করেন তবে gআমরা জেএস উত্তরগুলিকে অপসারণের অনুমতি দিই g=। এছাড়াও, আপনি একটি দম্পতি বাইটগুলি এভালটিতে স্যুইচ করে এবং মুছে ফেলার মাধ্যমে সংরক্ষণ করতে পারেন return: ফিডল
স্টিফেন

@ স্টেপহেন ইওল () ধারণা এবং জেএস বিধিগুলির জন্য ধন্যবাদ, যেহেতু
এএস 3 বিভক্ত হওয়া

ঠিক আছে, এটি এখনও কার্যকর হয় এবং আমরা প্রয়োগের মাধ্যমে ভাষাটি সংজ্ঞায়িত করি: পি
স্টিফেন

1
searchআপনি একটি বাইট ওভার বাঁচাতে হবে indexOf
শেগি

@ শেগি এটি কাজ করেছে, অনুসন্ধানের ধারণার জন্য ধন্যবাদ;)
শিয়ারু আসাকোটো


3

পাইথন 2 , 320 318 314 311 307 বাইট

ইনপুট ফর্ম্যাট - স্ট্রিংগুলির তালিকা। সম্পূর্ণ প্রোগ্রাম:

i=input()
t=[x.split()for x in"Lo Um On Ee Pal Mon|Ya Vi Oh Ful Des Zo|Ven Ew Kath Ir Bro Gor|Ku Ros Dain Neta Ra Sar".split('|')]
c=t[0].index(i[0])+1;r=c+1;s=c+r*(t[1].index(i[1])+2)/2
if len(i)>2:s+=r*(t[2].index(i[2])+4-(i[2]=='Bro'))/2
if len(i)>3:s+=r*(t[3].index(i[3])+1+(i[3]in'KuRaSar'))/2
print(s)

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


1
আমি এই ধরনের গল্ফ করা ছেড়ে দিয়েছি, সুতরাং যারাই গল্ফিংয়ের ধারণাগুলি রয়েছে সেগুলি নিজের মধ্যে সম্পাদনা করতে স্বাগত
মিঃ এক্সকোডার

3

এক্সেল, 339 বাইট

ইনপুট A1মাধ্যমে প্রবেশ করানো D1। অন্য যে কোনও ঘরে সূত্র।

=CHOOSE(MOD(CODE(A1),12),2,,,1,6,,3,5,4)+INT((CHOOSE(MOD(CODE(A1),12),2,,,1,6,,3,5,4)+1)*CHOOSE(MOD(CODE(B1),12),,3,,,2,7,4,6,,5)/2)+INT((CHOOSE(MOD(CODE(A1),12),2,,,1,6,,3,5,4)+1)*CHOOSE(MOD(CODE(C1),12),7,4,6,,,7,,,5,,9)/2)+INT((CHOOSE(MOD(CODE(A1),12),2,,,1,6,,3,5,4)+1)*CHOOSE(MOD(CODE(SUBSTITUTE(D1,"Ra","E")),11),4,3,6,,2,7,,,2,0)/2)

বিকল্পভাবে, সিএসভি হিসাবে আমদানি করা:

এক্সেল এবং সিএসভি, 228 বাইট

,,,
=CHOOSE(MOD(CODE(A1),12),2,,,1,6,,3,5,4)+1
=A2-1+INT(A2*CHOOSE(MOD(CODE(B1),12),,3,,,2,7,4,6,,5)/2)+INT(A2*CHOOSE(MOD(CODE(C1),12),7,4,6,,,7,,,5,,9)/2)+INT(A2*CHOOSE(MOD(CODE(SUBSTITUTE(D1,"Ra","E")),11),4,3,6,,2,7,,,2,0)/2)

SPACEশূন্যতার জন্য ইনপুট প্রথম সারিতে প্রবেশ করেছে। ফলাফল এ 3-এ প্রদর্শিত হবে।


2

এসসিএএলএ, 1106 চর, 1106 বাইট

এটি বেশ দীর্ঘ, সম্ভবত অপটিমাইজযোগ্য, তবে এটি করা মজাদার ছিল :)

ইনপুট ফর্ম্যাট : একটি স্ট্রিংয়ে স্পেস-বিভাজিত রুনস। যদি কেবলমাত্র 2 ইনপুট থাকে (যেমন "লো ফুল") আমার কোডটি এটি দিয়ে সম্পূর্ণ করে while(k.length<4)k:+=""(তাই আমি প্যারামিটারগুলি পরিবর্তন করে 24 বাইট সংরক্ষণ করতে পারি , যদি আমার এটি "ABC D" হওয়ার প্রয়োজন হয়)।

def n(i:Int,p:String):Int={Math.floor(i*((""+p(0)).toInt+1)/2).toInt}
def m(s:String):Int={var k=s.split(' ')

while(k.length<4)k:+=""

k match{case Array(p,i,f,a)=>{p match{case "Lo"=>1+m(1+"/ "+i+" "+f+" "+a)
case "Um"=>2+m(2+"/ "+i+" "+f+" "+a)
case "On"=>3+m(3+"/ "+i+" "+f+" "+a)
case "Ee"=>4+m(4+"/ "+i+" "+f+" "+a)
case "Pal"=>5+m(5+"/ "+i+" "+f+" "+a)
case "Mon"=>6+m(6+"/ "+i+" "+f+" "+a)
case _ if p.contains("/")=>i match{case "Ya"=>n(2,p)+m(p+" / "+f+" "+a)
case "Vi"=>n(3,p)+m(p+" / "+f+" "+a)
case "Oh"=>n(4,p)+m(p+" / "+f+" "+a)
case "Ful"=>n(5,p)+m(p+" / "+f+" "+a)
case "Des"=>n(6,p)+m(p+" / "+f+" "+a)
case "Zo"=>n(7,p)+m(p+" / "+f+" "+a)
case _ if p.contains("/")=>f match{case "Ven"=>n(4,p)+m(p+" / "+"/ "+a)
case "Ew"=>n(5,p)+m(p+" / "+"/ "+a)
case "Kath"=>n(6,p)+m(p+" / "+"/ "+a)
case "Ir"=>n(7,p)+m(p+" / "+"/ "+a)
case "Bro"=>n(7,p)+m(p+" / "+"/ "+a)
case "Gor"=>n(9,p)+m(p+" / "+"/ "+a)
case _ if p.contains("/")=>a match{case "Ku"=>n(2,p)
case "Ros"=>n(2,p)
case "Dain"=>n(3,p)
case "Neta"=>n(4,p)
case "Ra"=>n(6,p)
case "Sar"=>n(7,p)
case _=>0}
case _=>0}
case _=>0}
case _=>0}}}}

এই দুর্দান্ত চ্যালেঞ্জের জন্য ধন্যবাদ। এটি অনলাইন চেষ্টা করুন!


@ আরনাউল্ড আমি আমার কোড সম্পর্কে সবেমাত্র কিছু লক্ষ্য করেছি: জিনিসটি আসলে আছে কিনা তা সত্যিই যাচাই করে না! মানে, যদি আমি "লো হো গুড়" ইনপুট করি তবে এটি 5 আউটপুট দেয়! ঠিক আছে? বা আমি এই ঠিক করা উচিত?
ভি। কুর্তোয়া

এটি ঠিক আছে কারণ "রানগুলি বৈধ হওয়ার গ্যারান্টিযুক্ত" (২ য় নিয়ম)।
আর্নল্ড

ওহ সত্য :) আমি চিন্তা না করেই এটি করেছি তাই আমি এই নিয়মটি ভুলে গিয়েছি। আবার ধন্যবাদ.
ভি। কুর্তোয়া

2

শেক্সপিয়ার প্রোগ্রামিং ল্যাঙ্গুয়েজ , 4420 বাইট

,.Ajax,.Ford,.Page,.Puck,.Romeo,.Act I:.Scene I:.[Enter Romeo and Page]Page:You big big big big big big cat.[Exit Romeo][Enter Ajax]Page:Open thy mind!Ajax:Open thy mind!Open thy mind!You is the sum of Romeo and the sum of a big big cat and a cat.Am I as big as you?If not,let us return to Scene V.Page:You is the sum of a big big cat and a cat.Let us return to Act V.Scene V:.Ajax:You is the sum of you and the sum of a big big big cat and a pig.Am I as big as you?If not,let us return to Scene X.Page:You big cat.Let us return to Act V.Scene X:.Ajax:You is the sum of you and the sum of a big cat and a cat.Am I as big as you?If not,let us return to Scene L.Page:You big big cat.Let us return to Act V.Scene L:.Ajax:You is the sum of you and the sum of a big big cat and a big cat.Am I as big as you?If not,let us return to Scene C.Page:You is the sum of a big cat and a cat.Let us return to Act V.Scene C:.Ajax:Am I as big as the sum of you and a big big big pig?Page:You is the sum of a big big cat and a big cat.If so,you is the sum of you and a cat.Ajax:Open thy mind!Act V:.Scene I:.[Exit Ajax][Enter Ford]Page:Open thy mind!Ford:Open thy mind!Open thy mind!You is the sum of Romeo and the sum of a big big big big cat and a pig.Am I as big as you?If not,let us return to Scene V.Page:You big big cat.Let us return to Act X.Scene V:.Ford:You is the sum of you and the sum of a big big big cat and a pig.Am I as big as you?If not,let us return to Scene X.Page:You is the sum of a big cat and a cat.Let us return to Act X.Scene X:.Ford:You is the sum of you and a big big cat.Am I as big as you?If not,let us return to Scene L.Page:You is the sum of a big big big cat and a pig.Let us return to Act X.Scene L:.Ford:Am I as big as the sum of you and a pig?If not,let us return to Scene C.Page:You big cat.Let us return to Act X.Scene C:.Ford:Am I as big as the sum of Romeo and a big big cat?Page:You is the sum of a big big cat and a cat.If so,you is the sum of you and a cat.Ford:Open thy mind!Act X:.Scene I:.[Exit Page][Enter Puck]Ford:You is the sum of the sum of Ajax and a pig and the quotient between the product of Ajax and I and a big cat.Puck:Open thy mind!Is you as big as a pig?If so,let us return to Act D.[Exit Puck][Enter Page]Ford:Open thy mind!Open thy mind!You is the sum of Romeo and the sum of a big big cat and a cat.Am I as big as you?If not,let us return to Scene V.Page:You is the sum of a big big cat and a cat.Let us return to Act L.Scene V:.Ford:Am I as big as the sum of you and a big big cat?If not,let us return to Scene X.Page:You is the sum of a big big big cat and a pig.Let us return to Act L.Scene X:.Ford:Open thy mind!Am I as big as the sum of Romeo and a big cat?If not,let us return to Scene L.Page:You is the sum of a big big big cat and a pig.Let us return to Act L.Scene L:.Ford:You is the sum of Romeo and the sum of a big big big cat and a pig.Am I as big as you?If not,let us return to Scene C.Page:You is the sum of a big big big cat and a cat.Let us return to Act L.Scene C:.Ford:Am I as big as the sum of you and a big big cat?If so,let us return to Scene D.Page:You big big cat.Let us return to Act L.Scene D:.Page:Open thy mind!You is the sum of a big big cat and a big cat.Act L:.Scene I:.[Exit Page][Enter Puck]Ford:You is the sum of you and the quotient between the product of Ajax and I and a big cat.Puck:Open thy mind!Is you as big as a pig?If so,let us return to Act D.[Exit Puck][Enter Page]Ford:You is the sum of Romeo and a big big cat.Am I as big as you?If not,let us return to Scene V.Page:You is the sum of a big cat and a cat.Let us return to Act C.Scene V:.Ford:You is the sum of you and the sum of a big big big cat and a pig.Am I as big as you?If not,let us return to Scene X.Page:You big cat.Let us return to Act C.Scene X:.Ford:Am I as big as the sum of you and the sum of a big cat and a cat?If not,let us return to Scene L.Page:You big big cat.Let us return to Act C.Scene L:.Ford:Am I as big as the sum of you and a big big big cat?If not,let us return to Scene C.Page:You is the sum of a big big big cat and a pig.Let us return to Act C.Scene C:.Page:Open thy mind!Is you as big as the sum of Romeo and a cat?You big cat.If so,you is the sum of you and a big big cat.Act C:.Scene I:.[Exit Page][Enter Puck]Ford:You is the sum of you and the quotient between the product of Ajax and I and a big cat.Act D:.Scene I:.Ford:Open thy heart![Exeunt]

বড় হাতের স্ট্রিং হিসাবে ইনপুট নেয়।

ব্যাখ্যা শীঘ্রই আসছে ... আপাতত মজাদার ঘটনা: Microsoft এসপিএলে একটি নেতিবাচক বিশেষ্য। অন্য সমস্ত গৃহীত শব্দ শেক্সপিয়ারের কাজগুলিতে হাজির হয়েছিল।

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


1

জাভা (ওপেনজেডিকে 8) , 252 বাইট

r->{int c[][]={{2,3,4,5,6,7},{4,5,6,7,7,9},{2,2,3,4,6,7}},l=r.length,p="LUOEPM".indexOf(r[0].charAt(0))+1,a=p,i=0;String[]s={"YVOFDZ","VEKIBG","KRDNXS"};for(;i<l-1;)a+=(p+1)*c[i][s[i++].indexOf((l>3?r[i].replace("Ra","X"):r[i]).charAt(0))]/2;return a;}

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

রুনগুলি হ'ল ইনপুট String[](এর অ্যারে String) হিসাবে, প্রথম কেস আকারে (প্রথম বর্ণটি বড় হাতের অক্ষর হয়, বাকী ছোট হাতের অক্ষর হয়)।

এটি 'স্ট্যান্ডার্ড এন-থ অক্ষর' পদ্ধতিটি, মোচড়ের সাথে যে উভয়ই চতুর্থ অংশে বিদ্যমান Rosএবং Raবিদ্যমান। আমি যে চিকিত্সা একটি ইনলাইন এবং স্পষ্ট প্রতিস্থাপন সঙ্গে Raকরতে X


1

রেটিনা , 124 123 বাইট

Gor
9
[ZIBS]\w+
7
Mon|Des|Kath|Ra
6
..l|Ew
5
Ee|Oh|Ven|Neta
4
[OVD]\w+
3
[UYKR]\w+
2
Lo
1
\d
$*
(?<=^(1+) .*1)
$1
\G1
11
11

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। স্থান থেকে পৃথক রুনস নেয়। ব্যাখ্যা: প্রাথমিক পর্যায়ে প্রতিটি রুনকে কেবল একটি অঙ্কে রূপান্তরিত করে, যা পরে অকেরিতে রূপান্তরিত হয়। প্রথমের পরে সংখ্যাগুলি প্রথম সংখ্যার চেয়ে আরও একটি দ্বারা গুণিত হয়, যার পরে প্রথম সংখ্যাটি দ্বিগুণ হয়। চূড়ান্ত পর্যায়ে পূর্ণসংখ্যা সমস্ত ফলাফলকে 2 দ্বারা ভাগ করে যোগফল নেয়।


1

সি, 274

#define c(p,r,x)(p+1)*b(r[x+1],x*17)/2
i;char*a="& ; $ # 4 %        ; B * 6 $ 8          6 5 - >3  +  A@( .   6 5    ";b(r,s)char*r;{for(i=0;i<17;i++)if(a[i+s]-3==(r[0]^r[1]))return i/2+1;return 0;}main(n,r)char**r;{n=b(r[1],0);printf("%d\n",n+c(n,r,1)+c(n,r,2)+c(n,r,3));}

আরও অবারিত:

#include<stdio.h>
char*a="& ; $ # 4 %      "
       "  ; B * 6 $ 8    "
       "      6 5 - >3  +"
       "  A@( .   6 5    ";
int b(char*r,int s){
  for(int i=0;i<17;i++)
    if(a[i+s]-3==(r[0]^r[1]))
      return i/2+1;
  return 0;
}
#define c(p,r,i)(p+1)*b(r[i+1],i*17)/2
int main(int n,char**r){
  int x=b(r[1],0);
  printf("%d\n",x+c(x,r,1)+c(x,r,2)+c(x,r,3));
}

আপনাকে চারটি কমান্ড লাইন আর্গুমেন্ট সরবরাহ করতে হবে - সুতরাং প্রথম পরীক্ষার ক্ষেত্রে আপনাকে চালানো দরকার ./a.out Lo Ful "" ""



1

যান, 205 বাইট

func c(s []string)int{f,l:=strings.IndexByte,len(s)
p:=f("UOEPM",s[0][0])+3
r:=p-1+p*(f("VOFDZ",s[1][0])+3)/2
if l>2{r+=p*(f("war o",s[2][1])+5)/2}
if l>3{r+=p*(f("it Ra",s[3][len(s[3])-2])+3)/2}
return r}

এটি কলযোগ্য ফাংশন, রুনগুলি স্ট্রিংগুলির টুকরো হিসাবে গ্রহণ করে, যেমন []string{"Um", "Ful"}

এটি গো খেলার মাঠে চেষ্টা করুন ।


0

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

সংখ্যার ভুডোর পরিবর্তে ADT গুলি ব্যবহার করা।

দ্রষ্টব্য: 36 এর জন্য যুক্ত করুন {-# LANGUAGE GADTs,ViewPatterns #-}

  • স্কোরটি গণনা করা হয় এটি ধরে নিয়ে যে এটি সংকলিত / চালানো হয়েছে -XGADTs -XViewPatterns
data P=Lo|Um|On|Ee|Pal|Mon deriving(Enum,Read,Eq)
data E=Ya|Vi|Oh|Ful|Des|Zo deriving(Enum,Read,Eq)
data F=Ven|Ew|Kath|Ir|Bro|Gor deriving(Enum,Read,Eq)
data C=Ku|Ros|Dain|Neta|Ra|Sar deriving(Enum,Read,Eq)
data S where
  S::P->E->S
  Q::P->E->F->S
  R::P->E->F->C->S
k(a:b:x)=let{p=read a;e=read b}in case x of{[]->S p e;[c]->Q p e(read c);[c,d]->R p e(read c)(read d)}
c,d::Enum a=>a->Int
c=succ.fromEnum
d=(+2).fromEnum
e Bro=7
e x=(+2).d$x
f x|c x`elem`[1,5,6]=d x|2>1=c x
g p f x =(`div`2).(*f x).succ$c p
h(S x y)=c x+g x d y
h(Q x y z)=h(S x y)+g x e z
h(R x y z t)=h(Q x y z)+g x f t
main=print.h.k.words=<<getLine

ইনপুট: সাধারণ স্ট্রিং হিসাবে একটি একক বানান যেমন

Lo Ful

Um Ful

শেষ লাইনটি প্রতিস্থাপনের মাধ্যমে মল্টিলাইনিং করা যেতে পারে

main=interact$unlines.map(show.h.k.words).lines

তবে এটি গণনাতে বাইট যুক্ত করবে

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