কে ফুটবল খেলা জিততে পারে?


17

আমেরিকান ফুটবল চ্যাম্পিয়নশিপ, সুপার বোল 50 , আজ ইউটিসির রাত 11:30 এ ঘটছে (এবং আপনি এটি অনলাইনে সরাসরি দেখতে পারেন )। এটি উদযাপন করার জন্য এই চ্যালেঞ্জটি তৈরি করা হয়েছিল।


একটি আমেরিকান ফুটবল খেলায়, দুটি দল সর্বাধিক পয়েন্ট পাওয়ার জন্য প্রতিযোগিতা করে এবং এই পয়েন্টগুলি অর্জনের ছয়টি উপায় রয়েছে । আমরা প্রত্যেককে একটি সংক্ষেপণ দেব:

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কেবলমাত্র বৃহত আকারের এবং ছোট হাতের অক্ষরে এই ছয়টি সংক্ষিপ্তসার যুক্ত একক লাইনের স্ট্রিংয়ে নেয়।

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

আপনার কাজটি গেমের চূড়ান্ত স্কোরগুলি প্রতিবেদন করা এবং ফর্মের আউটপুট দিয়ে কে জিতেছে তা নির্দেশ করা indicate

[score 1] [to] [score 2]

কোথায়:

  • [score 1] বড় হাতের বা ছোট হাতের না জিতে নির্বিশেষে দুটি স্কোরের (সমান না হলে) সর্বদা বড়।
  • [score 2] দুটি স্কোরের চেয়ে ছোট (সমান না হলে)।
  • [to]হয় TOযদি বড় হাতের দল বিজয়ী, toযদি ছোট হাতের দল জেতে ও Toযদি এটি একটি টাই আছে।

উদাহরণ: সকল স্কোরিং ঘটনা মধ্যে সুপার বোল XLIX স্ট্রিং-এর দ্বারা সংক্ষিপ্ত করা যেতে পারে

TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP

যেখানে বড় হাতের অক্ষর হ'ল নিউ ইংল্যান্ড প্যাট্রিয়টস এবং লোয়ারকেস হ'ল সিয়াটেল সিহাকস । প্যাট্রিয়টস 28 এবং হকস 24 রান করেছে, সুতরাং আউটপুটটি হবে:

28 TO 24

মন্তব্য

  • আপনার প্রোগ্রাম / ফাংশনটি খালি স্ট্রিং সহ যেকোন স্বেচ্ছাসেবক ইনপুটকে সমর্থন করবে।
  • XPএবং XDঠিক পরে ঘটবে TDxpএবং xdঠিক পরে ঘটবে td
  • আপনি ইনপুট স্ট্রিংটি নির্দিষ্ট ক্ষেত্রে শুরু বা শেষ বলে ধরে নিতে পারবেন না।
  • ইনপুট এবং আউটপুট উভয় ক্ষেত্রেই একক পেছনের নতুন লাইনটি অনুমোদিত

স্কোরিং

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী। সুপার বাউল 50 এর কিক অফের আগে ( এখনই অনেক দেরী! ) পোস্ট করা উত্তরগুলি বিজয়ী দলটির (ভবিষ্যতে প্যান্থার বা ব্রঙ্কোস ) পূর্বাভাস দিতে পারে এবং যদি তারা সঠিক হয় তবে একটি -10% বাইট বোনাস পান!

(ভবিষ্যদ্বাণীগুলি পরিবর্তিত হয়নি এবং কিকঅফের আগে সত্যিই তৈরি হয়েছিল তা নিশ্চিত করতে আমি পুনর্বিবেচনার ইতিহাসটি পরীক্ষা করব))

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

[empty string] -> 0 To 0
TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP -> 28 TO 24
FG -> 3 TO 0
fg -> 3 to 0
TD -> 6 TO 0
td -> 6 to 0
TDXP -> 7 TO 0
tdxp -> 7 to 0
TDXD -> 8 TO 0
tdxd -> 8 to 0
S -> 2 TO 0
s -> 2 to 0
FCK -> 3 TO 0
fck -> 3 to 0
TDTDXDSssFCKfgfckFGtd -> 22 TO 16
fcksFCKS -> 5 To 5
tdtdtdtdxp -> 25 to 0
SSSSSSSTD -> 20 TO 0
fgSfckFGfgtdxptdxdTDs -> 26 to 11
FGTDXPtdxdtdsStdxpfgTDfckTDXDFCK -> 29 To 29


26
আমি বিশ্বাস করি এটি "সুপারবোল" নয়, "সুপারবোল আউল" হিসাবে স্টাইলাইজড
ডাউনগোট

সুপার বাউলটি শেষ হওয়ার পরে আপনি যদি আপনার পোস্টটি সম্পাদনা করেন তবে কি বোনাসটি এখনও প্রয়োগ হয় ?
ডুরকনব

1
@ ডুরকনব এটি সম্পর্কে: আপনি যদি কিক অফের আগে ভবিষ্যদ্বাণী করেন এবং কোনও সম্পাদনা দিয়ে এটি পরিবর্তন না করেন তবে আপনি আপনার কোডটি যতটা চান সম্পাদনা করতে পারেন। (তবে আপনার ভবিষ্যদ্বাণীটি অবশ্যই আপনার উত্তরে থাকতে হবে, কোনও মন্তব্যে নয় so সুতরাং আপনার শুরু করার জন্য ওয়ার্কিং কোড দরকার need)
ক্যালভিনের

2
আমি কি উত্তর দিতে পারব না? : পি
আর

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

উত্তর:


3

পাইথ, 49 46 43 42 বাইট (বোনাস সহ 37.8 বাইট)

jr" to "xh._-FJmsmhx"PSFT"kXd\D\S,rz2z2_SJ

আমাকে 4 বাইট বাঁচাতে সাহায্য করার জন্য @ মাল্টেসেনকে ধন্যবাদ!

পাইথ কম্পাইলার এ চেষ্টা করুন ।

আমি সমস্ত ঘাঁটি coveringাকা পছন্দ করি, তাই আমি ব্রোনকোসের উপর বাজি ধরব।

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

jr" to "xh._-FJmsmhx"PSFT"kXd\D\S,rz2z2_SJ Input: z

                                  rz2      Swap the case of z.
                                 ,   z     Pair the result with z.
               m                           Map; for each d in the pair:
                           Xd\D\S            Replace each D with an S.
                 m                           Map; for each character k:
                   x"PSFT"k                    Compute k's first index on "PSFT".
                  h                            Increment the index.
                s                            Compute the sum of the incr. indices.
                                               "FG"  -> [3, 0]     -> 3
                                               "TD"  -> [4, 2]     -> 6
                                               "XP"  -> [0, 1]     -> 1
                                               "XD"  -> [0, 2]     -> 2
                                               "S"   -> [2]        -> 2
                                               "FCK" -> [3, 0, 0]  -> 3
                                               (lowercase letters) -> 0
              J                            Save the resulting list of scores in J.
            -F                             Reduce J by subtraction.
          ._                               Compute the sign of the difference.
         h                                 Add 1.
        x                             2    XOR the result with 2.
 r" to "                                   Pick‡ a function and apply it to " to ".
                                       _SJ Sort and reverse the list of scores.
j                                          Join, separating by the modified string.

r ফাংশন যে স্ট্রিং কাজ একটি পরিবার।

  • তাহলে প্রথম স্কোর J(অদলবদল ক্ষেত্রে সংশ্লিষ্ট z, অর্থাৎ, মূল ছোট হাতের অক্ষর) দ্বিতীয় স্কোর কম, সাইন ফাংশন ফিরে আসবে -1, (-1 + 1) ^ 2 == 2এবং r" to "2হয় swapcase, তাই এটি ফেরৎ " TO "

  • তাহলে প্রথম স্কোর দ্বিতীয় স্কোর বেশী, সাইন ফাংশন ফিরে আসবে 1, (1 + 1) ^ 2 == 0এবং r" to "0হয় lowercase, তাই এটি ফেরৎ " to "

  • স্কোর সমান হয়ে থাকেন, তাহলে সাইন ফাংশন ফিরে আসবে 0, (0 + 1) ^ 2 == 3এবং r" to "3হয় title, তাই এটি ফেরৎ " To "


আমি চেষ্টা করে দেখিনি, তবে আপনি সম্ভবত toবিভিন্ন মান দ্বারা r
বিভিন্নগুলি

@ মাল্টেসেন যে সুন্দরভাবে কাজ করেছে। ধন্যবাদ!
ডেনিস

4

এমএটিএল , 51 * 0.9 = 45.9 54 57 58 63 বাইট

3 বাইট অপসারণ করার জন্য ডেনিসকে ধন্যবাদ!

'%i To %i'j0h!3'PDFTS'tkXc=s4:Hh*sSPYD3MdXK?kK0<?Xk

একটি খালি ইনপুট স্ট্রিংটি একক নিউলাইন চরিত্র হিসাবে অনলাইন সংকলকটিতে উপস্থাপিত হয়।

সম্পাদনা (জুন 8, 2016): নীচের লিঙ্কটিতে ভাষার 18.1.0 রিলিজ অনুসারে একটি পরিবর্তন রয়েছে (তিনি আগে 3ডান দিকে সরান Xc)

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

আমি ব্রোঙ্কোসের উপর বাজি রেখেছি।

ব্যাখ্যা

স্কোরগুলি একক অক্ষর ব্যবহার করে সনাক্ত করা হয়, হয় উপরের বা ছোট হাতের (বড় হাতের অক্ষরটি নিম্নলিখিতটিতে প্রদর্শিত হয়):

  • P এক্সপির জন্য (1 পয়েন্ট)
  • D এক্সডির জন্য (২ পয়েন্ট)
  • F এফজি (3 পয়েন্ট) এবং এফসিকে (3 পয়েন্ট)
  • T টিডির জন্য (points পয়েন্ট)
  • S এস এর জন্য (2 পয়েন্ট)

এই পাঁচটি অক্ষরের প্রত্যেকটিই বাদে স্কোর ইভেন্টের সাথে অনন্য correspond

  • Fএর জন্য পুনরায় ব্যবহার করা হয় FGএবং FCKযার স্কোর একই। এর জন্য @ ডেনিসকে ধন্যবাদ !
  • Dটিডি এবং এক্সডি উভয়ই সনাক্ত করবে। সুতরাং Tক্ষতিপূরণ হিসাবে 6 এর পরিবর্তে 4 পয়েন্ট বরাদ্দ করা হবে।

ক্রমটি PDFTS, পয়েন্টগুলি নির্দিষ্ট করে এমন সংখ্যার অ্যারে সংজ্ঞা দেওয়ার সময় কয়েকটি বাইট সংরক্ষণ করে [1,2,3,4,2]

প্রতিটি ইভেন্ট বড় হাতের বা ছোট হাতের উপরের বর্ণগুলির একটিতে উপস্থিতি সনাক্ত করে। তুলনাটি তিন মাত্রায় করা হয়: ইনপুট স্ট্রিং দৈর্ঘ্য ( এন ) teams দলের সংখ্যা (2) detected সনাক্ত হওয়া স্কোর ইভেন্টের সংখ্যা (5)। বিস্তৃত ব্যবহার সম্প্রচারের দ্বারা তৈরি হয়, এটি বৃহত্তর অ্যারের আকারের সাথে মেলে একটি একক মাত্রা বরাবর একটি অ্যারের স্বয়ংক্রিয়ভাবে প্রসারিত।

'%i To %i'  % string with format specifiers for two integers
j0h         % input string. Attach 0 so it's never empty. Gives string of length N>0
!           % transpose into char array of size N×1
3           % number literal
'PDFTS'     % characters to detect the five combined types of score
tk          % duplicate and convert to lowercase
Xc          % concatenate along the third dimension to produce a 1×5×2 array
=           % test for equality with broadcast. Gives N×5×2 array
s           % sum along 1st dim. Gives 1×5×2 array
4:Hh        % array [1,2,3,4,2] to compute the total score. Size 1×5(×1) 
*           % multiply with broadcast. Gives 1×5×2 array
s           % sum along 2nd dim. Gives 1×1×2 array with the two scores
SP          % sort in reverse order along 3rd dim
YD          % sprintf. Gives output string with "To"
3M          % push array with the two scores again
dXK         % difference along 3rd dim. Gives a number. Copy to clipboard K
?           % is it non-zero? If so we need to make either lowercase or uppercase
  k         %   make (tentatively) lowercase
  K0<       %   did the uppercase team win?
  ?         %   if so...
    Xk      %     make uppercase
            % implicitly end the two if's and display string

কোন জয়ের ভবিষ্যদ্বাণী?
ক্যালভিনের

2
@ ক্যালভিনের শখগুলি আমি উইকিপিডিয়ায় পরামর্শ করছিলাম ... আমেরিকান ফুটবল সম্পর্কে আমার জ্ঞান শূন্যের কাছে :-)
লুইস মেন্ডো

2
পুনঃব্যবহার Fমধ্যে FGএবং FCKতিন বাইট সংরক্ষণ করা উচিত।
ডেনিস

3

সিজেম, 57 55 54 53 50 49 বাইট

q_32f^]{"PSFTD"f#:)5Yer1b}%_$(@:-g"ToTOto"2/=\]S*

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

ব্রোঙ্কো কী তা আমার কোনও ধারণা নেই, তাই আমি প্যান্থারদের উপর বাজি ধরব।

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

q                              Read all input from STDIN.
 _                             Push a copy.
  32f^                         XOR all characters with 32. This swaps case.
      ]                        Wrap both strings in an array.
       {                 }%    Map; push the string S, then:
        "PSFTD"                    Push that string (T).
               f#                  Compute the index of each character of S in T.
                 :)                Increment each index.
                   5Yer            Replace 5's with 2's.
                       1b          Add the resulting integers.
                                       "FG"  -> [3 0]      -> 3
                                       "TD"  -> [4 2]      -> 6
                                       "XP"  -> [0 1]      -> 1
                                       "XD"  -> [0 2]      -> 2
                                       "S"   -> [2]        -> 2
                                       "FCK" -> [3 0 0]    -> 3
                                       (lowercase letters) -> 0

                               We've now computed the scores of the first (input)
                               and second (swapped case) team.

_$                             Push a copy of the array of scores and sort it.
  (                            Shift out the first (lower) score.
   @                           Rotate the array of scores on top.
    :-                         Reduce it by subtraction.
      g                        Compute the sign (1, 0 or -1) of the difference.
       "ToTOto"2/              Push ["To" "TO" "to"].
                 =             Select the string that corresponds to the sign.
                  \            Swap it with the lower score.
                   ]           Wrap the entire stack in an array.
                    S*         Join the resulting array, separating by spaces.


1
:-gইমোটিকন এর আগে কখনও দেখেনি
ইটিএইচ প্রডাকশনগুলি

@ ইথ প্রডাকশনগুলি শামুক-মুখ?
চার্লস

@ ইথ প্রডাকশনস এটি এমন কেউ যার মুখের উপর চশমা পড়েছে।
সিজে ডেনিস


3

জাভাস্ক্রিপ্ট (ES6), 128 130 বাইট

সম্পাদনা 2 বাইট প্রয়োগের সংরক্ষিত @ নিল এর ডগা

s=>(l=u=0,s.replace(/fck|s|../gi,x=>(z=+' 231  362'[parseInt(x,36)%10],x>'a'?l+=z:u+=z)),l>u?l+' to '+u:u+(u>l?' TO ':' To ')+l

পরীক্ষা

f=s=>(
  l=u=0,
  s.replace(/fck|s|../gi,x=>(
    z=+' 231  362'[parseInt(x,36)%10],
    x>'a'?l+=z:u+=z
  )),
  l>u?l+' to '+u:u+(u>l?' TO ':' To ')+l
)

//TEST
console.log=x=>O.textContent+=x+'\n'

;[
["","0 To 0"],
["TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP", "28 TO 24"],
["FG", "3 TO 0"],
["fg", "3 to 0"],
["TD", "6 TO 0"],
["td", "6 to 0"],
["TDXP", "7 TO 0"],
["tdxp", "7 to 0"],
["TDXD", "8 TO 0"],
["tdxd", "8 to 0"],
["S", "2 TO 0"],
["s", "2 to 0"],
["FCK", "3 TO 0"],
["fck", "3 to 0"],
["TDTDXDSssFCKfgfckFGtd", "22 TO 16"],
["fcksFCKS", "5 To 5"],
["tdtdtdtdxp", "25 to 0"],
["SSSSSSSTD", "20 TO 0"],
["fgSfckFGfgtdxptdxdTDs", "26 to 11"],
["FGTDXPtdxdtdsStdxpfgTDfckTDXDFCK", "29 To 29"]
].forEach(t=>{
  var i=t[0],x=t[1],r=f(i)
  console.log(i+' -> '+r+(r==x?' OK':' FAIL expected '+x))
})
<pre id=O></pre>


1
বাহ, যে কৌশলটি parseIntখুব চালাক! l>u?l+" to "+u:u+(u>l?" TO ":" To ")+lআউটপুটটির জন্য @ নীলের টিপ ব্যবহার করা 2 বাইটও সাশ্রয় করবে।
ব্যবহারকারী 81655

@ ইউজার ৮১5৫৫ ভালভাবে আমি পার্সে বিবেচনা করি প্রতিবার সংবেদনশীল উপায়ে যদি কিছু ছোট গ্রুপের চিঠি চালানোর দরকার হয় ... 99% বার এটি অকেজো। নীলের টিপকে নির্দেশ করার জন্য ধন্যবাদ
edc65

2

জাভাস্ক্রিপ্ট (ES6), 165 156 151 149 বাইট

s=>(a=b=0,s.match(/S|FCK|../gi)||[]).map(m=>(u=m.toUpperCase(),p=u>"XO"?1:u=="TD"?6:u>"R"?2:3,u<m?a+=p:b+=p))&&a>b?a+" to "+b:b+(b>a?" TO ":" To ")+a

9 ডি বাইটস @ ডিভ - নুলের জন্য ধন্যবাদ সংরক্ষণ করেছে, 5 ধন্যবাদ @ নটকে নয় যে চার্লস এবং 2 নীলকে ধন্যবাদ !

ব্যাখ্যা

var solution =

s=>(
    a=b=0,                // scores for teams A and B
    s.match(/S|FCK|../gi) // get an array of each abbreviation
      ||[]                // if it returns null, default to an empty array
  ).map(m=>(              // for each abbreviation m
    u=m.toUpperCase(),    // u = abbreviation in upper-case
    p=                    // p = number of points for the abbreviation
      u>"XO"?1            // case "XP"
      :u=="TD"?6          // case "TD"
      :u>"R"?2            // case "XD" or "S"
      :3,                 // case "FG" or "FCK"
    u<m?a+=p:b+=p         // add the points to the appropriate team
  ))
  
  // Output the scores
  &&a>b?a+" to "+b
  :b+(b>a?" TO ":" To ")+a
<input type="text" id="input" value="FGTDXPtdxdtdsStdxpfgTDfckTDXDFCK" />
<button onclick="result.textContent=solution(input.value)">Go</button>
<pre id="result"></pre>


আপনি ব্যবহার করতে পারেন /s|fck|../giএবং এর map(..),a>bপরিবর্তেmap(..)&&a>b
andlrc

আমার মনে হয় আপনি যদি কিছু করেন তবে আপনি কিছু বাঁচাতে পারবেন...:u=="T"?6:u>"R"?2:3...
চার্লস

নিবন্ধন করুন টিপ জন্য ধন্যবাদ!
ব্যবহারকারী 81655

আমি মনে করি আপনি সম্ভবত 2 বাইট ব্যবহার করে সংরক্ষণ করতে পারেনb+(b>a?" TO ":" To ")+a
নীল

2

পার্ল, 144 140 + 2 = 142 বাইট

%a=qw(fg 3 td 6 xp 1 xd 2 s 2 fck 3);@a=(0,0);$^=lc,$a[$^eq$_]+=$a{$^}for/fck|s|../gi;$,=$".(To,TO,to)[$a[1]-$a[0]<=>0].$";say sort{$b-$a}@a

-nপতাকা প্রয়োজন এবং -E:

$ echo "
TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP
FG
fg
SSSSSSSTD
FGTDXPtdxdtdsStdxpfgTDfckTDXDFCK" | \
perl -nE'%a=qw(fg 3 td 6 xp 1 xd 2 s 2 fck 3);@a=(0,0);$^=lc,$a[$^eq$_]+=$a{$^}for/fck|s|../gi;$,=$".(To,TO,to)[$a[1]-$a[0]<=>0].$";say sort{$b-$a}@a'
0 To 0
28 TO 24 
3 TO 0
3 to 0
20 TO 0
29 To 29

সম্পাদনা: সমর্থন করতে ভুলে গেছেন to, Toএবং TO


খুশী হলাম। কিন্তু %a=qw(fg 3 td 6 xp 1 xd 2 s 2 fck 3)হিসাবে ব্রিফার হয় %a=(fg,3,td,6,xp,1,xd,2,s,2,fck,3)। এবং " "(আপনার সংজ্ঞা অনুসারে $,) হ'ল ব্রিফার $"। তবে আমি সেগুলির একটিও পরীক্ষা করিনি।
msh210

@ msh210, আমি ব্যবহার করতে পারেন $"এবং আমি অপসারণ করতে পারেন qwউপর to To TOধন্যবাদ অ্যারের!
andlrc

1

লুয়া, 231 200 বাইট

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

সম্পাদনা: আমি সম্পূর্ণ প্রতিবন্ধী। অ্যারে সম্প্রসারণটি ব্যবহার করে আমি প্রথম সমাধানটি ঘুরেছিলাম, তারপরে আমি এটিকে পরিবর্তন করেছি এবং ছোট এবং বড় হাতের দল উভয়ের জন্য স্কোর যুক্ত অ্যারেটি আর কার্যকর হয়নি। এটি অপসারণ এবং প্লেইন ভেরিয়েবল ব্যবহার করা একটি সুন্দর -31 বাইট তৈরি করে।

a={F=3,D=2,T=4,P=1,S=2}l,u=0,0 io.read():gsub(".",function(c)x=a[c:upper()]if a[c]then u=u+a[c]elseif x then l=l+x end end)w=l>u and" to "or l<u and" TO "or" To "print(math.max(l,u)..w..math.min(l,u))

অবহেলিত এবং ব্যাখ্যা

a={F=3,D=2,T=4,P=1,S=2}        -- define the table a with our scoring values
l,u=0,0                        -- scores for the upper and lowercase teams
io.read():gsub(".",function(c) -- iterate over each character in the input
  x=a[c:upper()]               -- x contains the score for a lowercase character
  if a[c]                      -- if a contains c (would evaluate to nil otherwise)
  then
    u=u+a[c]                   -- increment the score of the uppercase team
  elseif x                     -- if x isn't nil
  then                         -- same as "a contains c:upper()"
    l=l+x                      -- increment the score of the lowercase team
  end
end)                           -- exit the anonyme function
w=l>u and" to "               -- nested ternary, lower > upper, we will use "to"
    or l<u and" TO "       -- lower < uppercase, use "TO"
    or" To "                   -- else (draw), use "To"
print(math.max(l,u)        -- output the concatenated string using 
      ..b.w..math.min(l,u))-- min/max to put the winner in the first position

0

পাইথন, 167 বাইট

চমত্কার পেঁচা দীর্ঘ অতীত, কিন্তু যেহেতু পাইথন সমাধান এখনও পাওয়া যায় নি:

def f(s):g=lambda s:0if s==""else{68:1,70:3,83:2,84:5,88:1}.get(ord(s[0]),0)+g(s[1:]);a=g(s);b=g(s.upper())-a;return"%i %s %i"%((a,("To","TO")[a>b],b),(b,"to",a))[a<b]

পাইথন 2 বা 3 এ কাজ করে।

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