រំលងទៅខ្លឹមសារមេ

បង្កើតក្រុមចៃដន្យ ឥតគិតថ្លៃ

ចែកបញ្ជីឈ្មោះទៅជា team ចៃដន្យដែលមានតុល្យភាព — ដោយចំនួន team ឬទំហំ team។ Shuffle ត្រឹមត្រូវ cryptographically ការ reshuffle ភ្លាមៗ។

ធ្វើការក្រៅបណ្តាញនៅពេលបានផ្ទុករួច
បញ្ជីដែលបានរក្សាទុក

បញ្ជី និងការកំណត់ចុងក្រោយរបស់អ្នកត្រូវបានចងចាំលើឧបករណ៍នេះ។ ដាក់ឈ្មោះបញ្ជីដើម្បីរក្សាទុកសម្រាប់ពេលក្រោយ។

មិនទាន់មានបញ្ជីដែលបានរក្សាទុកទេ។

ឈ្មោះក្រុម (ជាជម្រើស)

ទុកទទេដើម្បីប្រើពណ៌។ អ្នកក៏អាចប្តូរឈ្មោះក្រុមបានត្រង់កាតរបស់វាដែរ។

បន្ថែមឧបសគ្គ (ស្ម័យលក្ខណ៍)

ក្រុមម្នាក់មួយក្នុងបន្ទាត់នីមួយៗ; ​​ដាច់ឈ្មោះដោយ & ឬសញ្ញាក្បៀស។ មនុស្សទាំងនេះតែងតែលេចឡើងនៅលើក្រុមដូចគ្នា។

ក្រុមម្នាក់មួយក្នុងបន្ទាត់នីមួយៗ; ​​ដាច់ឈ្មោះដោយ & ឬសញ្ញាក្បៀស។ មនុស្សទាំងនេះទៅក្រុមផ្សេងគ្នា។

💡 ក្រុមត្រូវបានធ្វើឱ្យមានតុល្យភាពដោយប្រើ snake draft ដូច្នេះទំហំខុសគ្នាច្រើនបំផុតមួយ។ ការលាស្បែកប្រើភាពចៃដន្យដែលមានសុវត្ថិភាពគ្រីបតូក្រាហ្វីនៃកម្មវិធីរុករករបស់អ្នក — ត្រឹមត្រូវពិតប្រាកដ។ ល្អសម្រាប់ PE, កីឡា, គម្រោងក្រុម, ល្បែងពេលយប់, និងការបំបែកដូច secret santa។

ការប្រើប្រាស់ទូទៅ

  • ចាក់ថ្នាក់ដែលចូលទៅក្នុងក្រុមបែងចែកសិស្សរបស់អ្នកចូលក្នុងក្រុមលំនឹង ដើម្បីឯកសារគម្រោង និងសកម្មភាព។
  • បង្កើតក្រុមកីឡាយុត្តិធម៌បែងចែកអ្នកលេងក្នុងក្រុមស្មើគ្នា សម្រាប់ការប្រកួតប្រជែងប្រឆាំង និងការបណ្តុះបណ្តាល។
  • ក្រុមសម្រាប់ល្អិតល្អន់ល្បែងបង្កើតក្រុមចៃដន្យ ដើម្បីលេងលេង វារីយៈ ឆាប់រហ័ស និងល្បែងកម្មន្តស។
  • ក្រុមបង្កើនគ្នា សម្រាប់សិក្ខាសាលាបែងចែកអ្នកចូលរួមក្នុងសិក្ខាសាលា ឬម៉ោង ចូលក្នុងក្រុមការសន្ទនា។
  • ក្រុមចៃដន្យ សម្រាប់ការផ្លាស់ប្តូរការផ្តល់ជូនបែងចែកក្រុមឆ្ងាយ ដែលស៊ីមាក់ឆ្ងាយក្នុងម៉ាប់ផ្តល់ជូន។

វាដំណើរការដោយរបៀបណា

ការបំបែកក្រុមដំណើរការទាំងស្រុងក្នុងកម្មវិធីរុករករបស់អ្នកដោយប្រើការច្របល់ Fisher-Yates សុវត្ថិភាពគ្រីបតូក្រាហ្វិក (ជំរុញដោយ crypto.getRandomValues របស់ Web Crypto API) ដោយផ្សំជាមួយការចែកចាយសេចន (snake-draft) សម្រាប់ក្រុមមានតុល្យភាព។ ពេលកម្រិតការរក្សានៅជាមួយគ្នា ឬកម្រិតការនៅដាច់ពីគ្នាត្រូវបានបន្ថែម កម្មវិធីដោះស្រាយក្រុមរួម (union-find) ជាមួយការចាប់ផ្តើមឡើងវិញចៃដន្យរហូតដល់ 400 ដងស្វែងរកការចាត់តាំងសមហេតុសមផលដែលមានតុល្យភាពប្រសើរបំផុត។

  1. 1
    ការញែកបញ្ជីឈ្មោះ
    ឈ្មោះត្រូវបានបំបែកតាមបន្ទាត់ថ្មី និងសញ្ញាក្បៀស កាត់ខ្ចន្លោះស្រង់ ហើយលុបស្ទួន។ អ្នកអាចលាយបញ្ចូលគ្នាឧបករណ៍បំបែកទាំងពីរដោយសេរី — កម្មវិធីញែកដោះស្រាយពួកវាក្នុងជំហានតែមួយ។
  2. 2
    ការច្របល់សុវត្ថិភាពគ្រីបតូក្រាហ្វិក
    crypto.getRandomValues ដែលមានក្នុងកម្មវិធីរុករក បំពេញ Uint32Array ជាមួយចំនួនគត់ 32-ប៊ីតចៃដន្យមួយក្នុងមួយឈ្មោះ។ ការច្របល់ប្រើតម្លៃទាំងនេះជាមួយការចែកមាត្រដ្ឋានជំនួស modulo ដោយលុបបំបាត់ការលម្អៀង modulo ដែលធ្វើឲ្យខូចកម្មវិធីច្របល់ផ្អែកលើ Math.random()។
  3. 3
    ការចែកចាយតុល្យភាព ឬការដោះស្រាយកម្រិត
    ដោយគ្មានកម្រិត ឈ្មោះត្រូវបានចែកចាយដោយប្រើលំនាំសេចន (ពីឆ្វេងទៅស្តាំក្នុងជុំគូ ពីស្តាំទៅឆ្វេងក្នុងជុំសេស) ដូច្នេះទំហំក្រុមខុសគ្នាមិនលើសពីមួយ។ ជាមួយច្បាប់រក្សានៅជាមួយគ្នា ឬនៅដាច់ពីគ្នា ឈ្មោះត្រូវបានបញ្ចូលគ្នាទៅជាក្រុមតាមរយៈ union-find បន្ទាប់មកកម្មវិធីដោះស្រាយលោភបំផុតចៃដន្យសាកល្បងរហូតដល់ 400 ការដាក់ ហើយរក្សាការចាត់តាំងជាមួយភាពមិនស្មើគ្នាតូចបំផុត។
  4. 4
    នាំចេញជាអត្ថបទ CSV ឬតំណភ្ជាប់ដែលអាចចែករំលែកបាន
    លទ្ធផលអាចត្រូវបានចម្លងជាអត្ថបទធម្មតា ទាញយកជាឯកសារ .txt ឬ .csv (បង្កើតដោយ Blob API របស់កម្មវិធីរុករក) ឬចែករំលែកតាមរយៈ URL hash ដែលអ៊ិនកូដស្ថានភាពសម័យពេញលេញជា base64url — គ្មានម៉ាស៊ីនមេពាក់ព័ន្ធនៅចំណុចណាមួយឡើយ។

ឧបករណ៍ពាក់ព័ន្ធ

សំណួរដែលសួរជាញឹកញាប់