স্কুল চলন্ত (প্রথম দিন)


21

আমার বিশ্ববিদ্যালয় কোড চ্যালেঞ্জ প্রতিযোগিতার অনুমতি নিয়ে চ্যালেঞ্জ নেওয়া হয়েছে


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

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

চ্যালেঞ্জ

বর্তমান গোষ্ঠীগুলির শিক্ষার্থীদের পরিমাণ এবং নতুন শ্রেণিকক্ষগুলি (ক্ষমতা) প্রদত্ত, বর্তমান গ্রুপের প্রত্যেককে পর্যাপ্ত ক্ষমতা সহ একটি পৃথক শ্রেণিকক্ষ নির্ধারণ করা সম্ভব হলে সত্যবাদী মান বা অন্যথায় মিথ্যা মান নির্ধারণ করুন।

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

Input: groups of students => [10, 20, 30], classrooms capacity => [31, 12, 20]
Output: True

Input: groups of students => [10, 20, 30], classrooms capacity => [100, 200]
Output: False

Input: groups of students => [20, 10, 30], classrooms capacity => [20, 20, 50, 40]
Output: True

Input: groups => [30, 10, 30, 5, 100, 99], classrooms => [40, 20, 50, 40, 99, 99]
Output: False

Input: groups => [], classrooms => [10, 10, 10]
Output: True

Input: groups => [10, 10, 10], classrooms => []
Output: False

Input: groups => [], classrooms => []
Output: True

Input: groups => [10, 1], classrooms => [100]
Output: False

Input: groups => [10], classrooms => [100, 100]
Output: True

Input: groups => [1,2,3], classrooms => [1,1,2,3]
Output: True

নোট

  • আপনি যে কোনও যুক্তিসঙ্গত বিন্যাসে ইনপুট নিতে পারেন
  • আপনি আউটপুট কোনো Truthy / Falsey মান ( 1/0, True/False, ইত্যাদি ...)

5
প্রস্তাবিত g=[1,2,3], c=[1,1,2,3]
টেস্টকেস

আপনার এখানে এটি পোস্ট করার অনুমতি আছে?
অ্যাডম

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

কি 0গ্রুপ বা শ্রেণীকক্ষ জন্য একটি বৈধ মান?
নিমি

1
@ শেগি কোনও মিথ্যা / সত্যবাদী মান
লুইস

উত্তর:


14

ব্র্যাচল্যাগ , 4 বাইট

চ্যালেঞ্জটি দেখে এবং ব্র্যাচল্যাগটি সবাইকে পরাস্ত করতে পারে তা জেনে সর্বদা দুর্দান্ত। ইনপুট হিসাবে বর্তমান ক্লাস এবং আউটপুট হিসাবে নতুন শ্রেণিকক্ষ নেয়; এটি যদি শিক্ষার্থীদের ফিট করার কোনও উপায় খুঁজে পায় তবে তা সত্য হবে false

p≤ᵐ⊆

ব্যাখ্যা

কোডটিতে 3 টি অংশ রয়েছে যার অর্ডার আসলে কোনও বিষয় নয়

≤ᵐ --> projects each value to a value bigger/equal then input
⊆  --> input is a ordered subsequence of output
p  --> permutes the list so it becomes a unordered subsequence

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


4

পাইথ, 11 বাইট

.AgM.t_DMQ0

তালিকাগুলির তালিকা হিসাবে প্রথম ইনপুট নেয়, শ্রেণিকক্ষের আকারগুলি প্রথম, দ্বিতীয় গ্রুপের আকার। এটি এখানে অনলাইনে চেষ্টা করুন , বা এখানে সমস্ত পরীক্ষার কেস একবারে যাচাই করুন

.AgM.t_DMQ0   Implicit: Q=eval(input())
      _DMQ    Sort each element of Q in reverse
    .t    0   Transpose, padding the shorter with zeroes
  gM          Element wise test if first number >= second number
.A            Are all elements truthy? Implicit print

4

জেলি , 9 বাইট

ক্লাসরুমগুলিকে প্রথম যুক্তি হিসাবে এবং গোষ্ঠীগুলিকে দ্বিতীয় যুক্তি হিসাবে গ্রহণ করে।

Œ!~+Ṡ‘ḌẠ¬

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

মন্তব্য

এনবি: এটি Ṡ‘ḌẠ¬অনেক দীর্ঘ। তবে আমি সন্দেহ করি যে যাইহোক এটি সঠিক পদ্ধতির নয়।

Œ!~+Ṡ‘ḌẠ¬  - main link taking the classrooms and the groups e.g. [1,1,2,3], [1,2,3]
Œ!         - computes all permutations of the classrooms    -->  [..., [1,2,3,1], ...]
  ~        - bitwise NOT                                    -->  [..., [-2,-3,-4,-2], ...]
   +       - add the groups to each list; the groups fits   -->  [..., [-1,-1,-1,-2], ...]
             in a given permutation if all resulting values
             are negative
    Ṡ      - take the signs                                 -->  [..., [-1,-1,-1,-1], ...]
     ‘     - increment                                      -->  [..., [0,0,0,0], ...]
      Ḍ    - convert from decimal to integer                -->  [..., 0, ...]
       Ạ   - all truthy?                                    -->  0
        ¬  - logical NOT                                    -->  1

4

জাপট , 9 বাইট

ñÍí§Vñn)e

এটি ব্যবহার করে দেখুন বা টিআইও-তে সমস্ত পরীক্ষার কেস চালান

ñÍí§Vñn)e     :Implicit input of arrays U=students, V=classrooms
ñ             :Sort U by
 Í            :  Subtracting each integer from 2
  í           :Interleave with
    Vñn       :  V sorted by negating each integer
   §          :  Reduce each pair by checking if the first is <= the second
       )      :End interleaving
        e     :All true?

ñÍeȧVn o

এটি ব্যবহার করে দেখুন বা টিআইও-তে সমস্ত পরীক্ষার কেস চালান

ñÍeȧVn o     :Implicit input of arrays U=students, V=classrooms
ñ             :Sort U by
 Í            :  Subtracting each integer from 2
  e           :Does every element return true
   È          :When passed through the following function
    §         :  Less than or equal to
     Vn       :  Sort V
        o     :  Pop the last element

কৌতূহলের বাইরে, 2 - nজাপটে কেন একটি একক বাইট নির্মিত ? এটি 1-বাইট অন্তর্নির্মিত হওয়ার ন্যায়সঙ্গত করার জন্য এটি কী ধরণের ব্যবহারের ক্ষেত্রে?
কেভিন ক্রুইজসেন

1
ভাল প্রশ্ন, @ কেভিন ক্রুজসেন। এটির Íজন্য একটি শর্টকাট n2<space>এবং এটি স্ট্রিংগুলির সাথে ব্যবহারের জন্য তৈরি করা হয়েছিল, তাদেরকে বেস -২ থেকে বেস -10 নম্বরগুলিতে রূপান্তর করা (মোটামুটি সাধারণ প্রয়োজন)। তবে, nপদ্ধতিটি যখন কোনও সংখ্যার জন্য প্রয়োগ করা হয়, তখন সেই পদ্ধতির আর্গুমেন্ট (ডিফল্ট = 0) থেকে বিয়োগ করে । সুতরাং এখানে, বিয়োগ 0করে অ্যারে বাছাই করার পক্ষে যথেষ্ট হলেও শর্টকাটটি ব্যবহার করে আমার একটি বাইট ওভার সাশ্রয় হয় ñn<space>। বাছাই করার সময় আমি এটি ব্যবহার করতে পারতাম Vতবে এটি পদ্ধতিটি )বন্ধ করার জন্য , আমার পরিবর্তে স্থানের প্রয়োজন হওয়ায় এটি কোনও বাইট সংরক্ষণ করতে পারত না í
শেগি


3

এমএটিএল , 10 বাইট

yn&Y@>~!Aa

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

ইনপুট বিবেচনা করুন [20, 10, 30], [20, 20, 50, 40]একটি উদাহরণ হিসাবে। স্ট্যাক নীচে থেকে উপরে প্রদর্শিত হয়।

y     % Implicit inputs. Duplicate from below
      % STACK: [20 10 30]
               [20 20 50 40]
               [20 10 30]
n     % Number of elements
      % STACK: [20 10 30]
               [20 20 50 40]
               3
&Y@   % Variations. Gives a matrix, each row is a variation
      % STACK: [20 10 30]
               [20 10 30
                20 20 40
                20 20 40
                ···
                50 40 20]
>~    % Less than? Element-wise with broadcast
      % STACK: [1 1 1
                1 1 1
                1 1 1
                ···
                1 1 0]
!     % Transpose
      % STACK: [1 1 1 ··· 0
                1 1 1 ··· 1
                1 1 1 ··· 1]
A     % All. True for columns that only contain nonzeros
      % STACK: [1 1 1 ··· 0]
a     % Any. True if the row vector contains at least a nonzero. Implicit display
      % STACK: 1


3

05 এ বি 1 ই , 14 12 8 বাইট

€{í0ζÆdP

পোর্ট অফ @Sok এর Pyth উত্তর , তাই নিশ্চিত তাকে পাশাপাশি ভোট দিন করতে!

প্রথম আইটেম হিসাবে শ্রেণিকক্ষ-তালিকা এবং দ্বিতীয় আইটেম হিসাবে গ্রুপ-তালিকা সহ তালিকাগুলির তালিকা হিসাবে ইনপুট নেয়।

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

€{         # Sort each inner list
  í        # Reverse each inner list
   0ζ      # Zip/transpose; swapping rows/columns, with 0 as filler
     Æ     # For each pair: subtract the group from the classroom
      d    # Check if its non-negative (1 if truthy; 0 if falsey)
       P   # Check if all are truthy by taking the product
           # (and output implicitly)

পুরানো 12-বাইট উত্তর:

æε{I{0ζÆdP}à

প্রথমে শ্রেণিকক্ষ-তালিকা এবং তারপরে গ্রুপ-তালিকা নেয়।

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

æ             # Take the powerset of the (implicit) classroom-list,
              # resulting in a list of all possible sublists of the classrooms
 ε            # Map each classroom sublist to:
  {           #  Sort the sublist
   I{         #  Take the group-list input, and sort it as well
     0ζ       #  Transpose/zip; swapping rows/columns, with 0 as filler
       Æ      #  For each pair: subtract the group from the classroom
        d     #  Check for everything if it's non-negative (1 if truthy; 0 if falsey)
         P    #  Check if all are truthy by taking the product
            # After the map: check if any are truthy by getting the maximum
              # (and output the result implicitly)

1
হেই আমি আনন্দিতভাবে আশ্চর্য হয়ে গিয়েছিলাম যে পাইথ পরিবর্তনের জন্য 05AB1E কে পরাজিত করেছিল, তবে দেখা যাচ্ছে এটি অ্যালগরিদমটি ছিল: ওপি
সোক

1
@ সোক আপনাকে হতাশ করার জন্য দুঃখিত ; পি তবে -4 বাইটের জন্য ধন্যবাদ। : ডি
কেভিন ক্রুইজসেন

3

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 77 74 বাইট

a=>b=>a.Count==a.OrderBy(x=>-x).Zip(b.OrderBy(x=>-x),(x,y)=>x>y?0:1).Sum()

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

মন্তব্য করা কোড:

// a: student group counts
// b: classroom capacities
a=>b=>
  // compare the number of student
  // groups to...
  a.Count==
  // sort student groups descending
  a.OrderBy(x=>-x)
     // combine with classroom
     // capacities sorted descending
     .Zip(
        b.OrderBy(x=>-x),
        // the result selector 1 when
        // the classroom has enough
        // capacity, 0 when it doesn't
        (x,y)=>x<y?0:1
     )
     // add up the 1's to get the number
     // of student groups who can fit
     // in a classroom
     .Sum()

1
আমি এর জন্য যুক্তিসঙ্গত ওয়ান-লাইনার খুঁজে পাইনি। সুন্দর কাজ!
অজ্ঞতার প্রতিমূর্তি


2

বাশ + জিএনইউ সরঞ্জামগুলি, 68 বাইট

(sort -nr<<<$2|paste -d- - <(sort -nr<<<$1)|bc|grep -- -)&>/dev/null

69 বাইট

(paste -d- <(sort -nr<<<$2) <(sort -nr<<<$1)|bc|grep -- -)&>/dev/null

Tio

শিক্ষার্থীদের কক্ষগুলি প্রথম এবং দ্বিতীয় যুক্তির হিসাবে গ্রহণ করে স্ট্রিং সংখ্যা হিসাবে নিউলাইন দ্বারা প্রতিটিত স্ট্রিং সংখ্যাগুলি সত্যের জন্য প্রস্থান 1 বা মিথ্যা হিসাবে প্রস্থান করে


2

পার্ল 5 -pal , 67 62 বাইট

@ নাহুয়েলফুইলুল পুনরায় সাজানো এবং একটি গ্রেপ সহ 5 বাইট সংরক্ষণ করেছে

$_=!grep$_>0,map$_-(sort{$b-$a}@F)[$x++],sort{$b-$a}<>=~/\d+/g

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

67 বাইট সংস্করণ

প্রথম লাইনে শ্রেণীর মাপের স্থান পৃথকীকরণ তালিকা এবং পরের দিকে রুমের আকারের স্থান পৃথকীকরণের তালিকা নেয়।



2

কমন লিস্প, 74 বাইট

(defun c(s r)(or(not(sort s'>))(and(sort r'>)(<=(pop s)(pop r))(c s r))))

অ minified

(defun can-students-relocate (students rooms)
  (or (not (sort students #'>))
      (and (sort rooms #'>)
           (<= (pop students)
               (pop rooms))
           (can-students-relocate students rooms))))

এটা পরীক্ষা করো

নোট করুন যে সাজানো স্থায়ীভাবে তালিকাকে পরিবর্তিত করে এবং পপটি পরিবর্তনশীলটিকে পরের উপাদানটিতে পুনর্বিবেচিত করে।

বাস্তবে এটি কেবল পুনরাবৃত্তভাবে পরীক্ষা করে যে বৃহত্তম ছাত্র গ্রুপটি সবচেয়ে বড় ঘরে ফিট করতে পারে। এখানে 3 টি বেস-কেস রয়েছে:

  1. কোনও শিক্ষার্থী নেই - রিটার্ন করুন টি
  2. শিক্ষার্থীরা, তবে কোনও ঘর নেই - NIL ফেরত দাও
  3. শিক্ষার্থী এবং কক্ষ, তবে বৃহত্তম কক্ষের চেয়ে বড় শিক্ষার্থীর গ্রুপ - NIL ফেরত দেয়


1

রেটিনা 0.8.2 , 50 বাইট

\d+
$*
%O^`1+
%`$
,
^((1*,)(?=.*¶((?>\3?)1*\2)))*¶

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার স্যুট অন্তর্ভুক্ত। দুটি গ্রুপ এবং কক্ষের তালিকা নেয় (পরীক্ষার স্যুট ;তালিকার বিভাজক হিসাবে ব্যবহার করে )। ব্যাখ্যা:

\d+
$*

অ্যানারিতে রূপান্তর করুন।

%O^`1+

বিপরীত প্রতিটি তালিকা পৃথকভাবে সাজান।

%`$
,

প্রতিটি তালিকায় কমা যুক্ত করুন।

^((1*,)(?=.*¶((?>\3?)1*\2)))*¶

প্রথম তালিকার প্রতিটি সংখ্যার সাথে দ্বিতীয় তালিকার যথাযথ সংখ্যার সাথে মিলিত হতে পারে তা পরীক্ষা করে দেখুন। প্রতিবার \3আগের ম্যাচ করা কক্ষগুলি থাকে এবং পরবর্তী গ্রুপটি \2তাই পরবর্তী কক্ষে ফিট করতে সক্ষম হওয়া প্রয়োজন। (?>\3?)হ্যান্ডলগুলি প্রথম ঘরের ক্ষেত্রে যখন কোনো পূর্ববর্তী কক্ষ নেই।


1

কাঠকয়লা , 28 বাইট

W∧⌊講⌈§θ¹⌈§θ⁰UMθΦκ⁻ν⌕κ⌈κ¬⊟θ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। কক্ষগুলি এবং গোষ্ঠীগুলির তালিকা এবং আউটপুটগুলির তালিকা নেয় -যদি কক্ষগুলি দলগুলিকে সমন্বিত করতে পারে। ব্যাখ্যা:

W∧⌊講⌈§θ¹⌈§θ⁰

কোনও ঘরে কোনও গ্রুপ বরাদ্দ করা যেতে পারে তার পুনরাবৃত্তি করুন।

UMθΦκ⁻ν⌕κ⌈κ

তাদের তালিকা থেকে বৃহত্তম কক্ষ এবং গোষ্ঠী সরান।

¬⊟θ

পরীক্ষা করুন যে কোনও অপ্রয়োজনীয় গোষ্ঠী বাকি নেই।


1

জাভাস্ক্রিপ্ট, 56 বাইট

s=>c=>s.sort(g=(x,y)=>y-x).every((x,y)=>c.sort(g)[y]>=x)

চেষ্টা করে দেখুন


দলের জন্য ব্যর্থ 7এবং 9এর ক্লাসের 8এবং 10
নিল

এটি নির্দেশ করার জন্য ধন্যবাদ, @ নীল। আমি ভাবলাম নগ্ন বাছাইটা যদি আর পাছায় আমাকে কামড়ানোর জন্য ফিরে না আসে! আমি আবার চেষ্টা করার সময় না পাওয়া পর্যন্ত আমাকে আমার আসল সমাধানে ফিরে যেতে হবে।
শেগি

1

পার্ল 6 , 34 বাইট

{none [Z>] $_>>.sort(-*)>>[^.[0]]}

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

দুটি তালিকা, গোষ্ঠী এবং শ্রেণিকক্ষের তালিকা হিসাবে ইনপুট নেয় এবং একটি / কোনও জংশন দেয় না যা সত্য / মিথ্যাতে বুলি দেওয়া যায়।

ব্যাখ্যা:

{                                }   # Anonymous code block
           $_>>.sort(-*)             # Sort both lists from largest to smallest
                        >>[^.[0]]    # Pad both lists to the length of the first list
 none                                # Are none of
      [Z>]                           # The groups larger than the assigned classroom

1

রুবি , 57 বাইট

->c,r{r.permutation.any?{|p|c.zip(p).all?{|a,b|b&&a<=b}}}

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

cক্লাসের rজন্য, কক্ষের জন্য নেয় । সাজানোর ব্যবহারের পরিবর্তে কক্ষের সমস্ত অনুমতি পরীক্ষা করে দেখুন, কারণ বিপরীত বাছাইয়ের জন্য অনেকগুলি বাইট খরচ হয়। এখনও ততক্ষণ দীর্ঘ দেখায় ...


1

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 105 93 91 82 81 79 77 76 74 বাইট

এবার মিলছে দানার স্কোর!

n=>m=>{n.Sort();m.Sort();int i=m.Count-n.Count;i/=n.Any(b=>m[i++]<b)?0:1;}

মিথ্যা হলে একটি ত্রুটি ছুড়ে দেয়, সত্য হলে কিছুই হয় না।

-12 বাইটস @ ডেট্রোগিওকে ধন্যবাদ!

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

ব্যাখ্যা

//Function taking in a list, and returning another function
//that takes in a list and doesn't return
n=>m=>{
  //Sort the student groups from smallest to largest
  n.Sort();
  //Sort the classrooms fom smallest capacity to largest
  m.Sort();
  //Initialize a variable that will function as a sort of index
  int i=m.Count-n.Count;
  //And divide that by...
  i/=
    //0 if any of the student groups...
    n.Any(b=>
      //Don't fit into the corresponding classroom and incrementing i in the process
      /*(In the case that a the amount of classrooms are less than the amount of
      student groups, an IndexOutOfRangeException is thrown)*/
      m[i++]<b)?0
    //Else divide by 1
    :1;
}


1
@ দেস্ট্রোগিও ধন্যবাদ!
অজ্ঞতার প্রতিমূর্তি

0

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

a->{int b=a[0].length;Arrays.sort(a[0]);Arrays.sort(a[1]);if(b>a[1].length){return false;}for(int i=0;i<b;i++){if(a[0][i]>a[1][i]){return false;}}return true;}

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

কেভিন ক্রুইজসেনের কাছ থেকে সামান্য সহায়ক পরামর্শ এবং নিজের কোড সম্পর্কে নিজেই অন্য এক নজরে আমি তিনটি ইংরেজি শব্দের পরিবর্তে আমার স্কোর পুরো 9% হ্রাস করতে পারি!

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

a->{int b=a[0].length;Arrays.sort(a[0]);Arrays.sort(a[1]);if(b>a[1].length){return 0;}for(int i=0;i<b;){if(a[0][i]>a[1][i++]){return 0;}}return 1;}

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


আপনাকে import java.util.*;নিজের বাইট-কাউন্টে অন্তর্ভুক্ত করতে হবে । আপনি কিন্তু তা গলফ পারেন 144 বাইট প্রতিস্থাপন জাভা 10 জাভা 8, বা 140 booleanসঙ্গে var
কেভিন ক্রুইজসেন

দ্রষ্টব্য: আপনার যা দরকার থাকে true/ falseআপনার কোডে, 1>0/ 0>1খাটো বিকল্প আছে । :)
কেভিন ক্রুইজসেন

আসলে, আমি আমার গণনায় অতিরিক্ত 24 বাইট অন্তর্ভুক্ত মনে করি না! (আমি বিশ্বাস করি যে আপনাকে কয়েক মাস আগে এক্সডের বিষয়ে আমাকে জানানো হয়েছিল) তবে টিপটির জন্য আপনাকে ধন্যবাদ! অসুস্থ এটি একটি শট দিতে!
এক্স

3
এটি শেষ পরীক্ষার কেস ব্যর্থ করে।
শেগি

আপনার 166-বাইট সংস্করণ সম্পর্কে: যদিও প্রশ্নটি আপনি ফিরে আসতে পারেন 1/0এবং আমি অনুমান করি যে এটি ক্ষেত্রে ভাল, তবে দয়া করে মনে রাখবেন যে জাভাতে পাইথন, জাভাস্ক্রিপ্ট, সি ইত্যাদির বিপরীতে 1/0সাধারণত বৈধ সত্যতা / মিথ্যা আউটপুট হিসাবে বিবেচিত হয় না । এবং আমার প্রথম মন্তব্যে আমি একটি 144-বাইট সংস্করণ উল্লেখ করেছি । :) যদিও, এটি এখন অবৈধ কারণ এটি শেষ পরীক্ষার ক্ষেত্রে কাজ করে না, যেমনটি @ শ্যাগি বলেছিলেন
কেভিন ক্রুইজসেন

0

পাওয়ারশেল , 80 বাইট

param($s,$c)!($s|sort -d|?{$_-gt($r=$c|?{$_-notin$o}|sort|select -l 1);$o+=,$r})

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

কম গল্ফ পরীক্ষা স্ক্রিপ্ট:

$f = {

param($students,$classrooms)
$x=$students|sort -Descending|where{          
    $freeRoomWithMaxCapacity = $classrooms|where{$_ -notin $occupied}|sort|select -Last 1
    $occupied += ,$freeRoomWithMaxCapacity    # append to the array
    $_ -gt $freeRoomWithMaxCapacity           # -gt means 'greater than'. It's a predicate for the 'where'
}                                             # $x contains student groups not assigned to a relevant classroom
!$x                                           # this function returns a true if $x is empty

}

@(
    ,(@(10, 20, 30), @(31, 12, 20), $true)
    ,(@(10, 20, 30), @(100, 200), $False)
    ,(@(20, 10, 30), @(20, 20, 50, 40), $True)
    ,(@(30, 10, 30, 5, 100, 99), @(40, 20, 50, 40, 99, 99), $False)
    ,(@(), @(10, 10, 10), $True)
    ,(@(10, 10, 10), @(), $False)
    ,(@(), @(), $True)
    ,(@(10, 1), @(100), $False)
    ,(@(10), @(100, 100), $True)
    ,(@(1,2,3), @(1,1,2,3), $True)
) | % {
    $students, $classrooms, $expected = $_
    $result = &$f $students $classrooms
    "$($result-eq$expected): $result"
}

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