មេកានិចល្បែង និងការគណនាពិន្ទុ
Mirror Subsequences ទាញយកតំណាងលេខពីរខ្ទង់ដែលមានការចែកចាយស្មើៗគ្នាពី 00 ដល់ 99 ដោយរក្សាសូនីនៅខាងមុខ។ លេខបួនត្រូវបានភ្ជាប់គ្នាតាមលំដាប់លេខតំណាង។ ពិន្ទុត្រូវបានកំណត់ដោយ L ដែលជាប្រវែងនៃបន្ទាត់បញ្ច្រាសវែងបំផុត ដែលរក្សាទីតាំងដើម ខណៈពេលដែលអនុញ្ញាតឱ្យលុបចោល។ វាមិនប្រើប្រាស់ប្រវែងនៃបន្ទាត់ជាប់គ្នាទេ។
ពិន្ទុដើមត្រូវបានគណនាជា max(0, L−2)។ ការភ្នាល់ពេញមួយគ្របដណ្តប់លើលេខតំណាងទាំងពីរ។ អ្នកលេងអាចជ្រើសរើសរវាងរបៀបបី៖ ពិន្ទុ ការេនៃពិន្ទុ ឬគូបនៃពិន្ទុ។ រាល់របៀបត្រូវបានធ្វើឱ្យមានលក្ខណៈស្តង់ដារដាច់ដោយឡែកលើគូលេខតំណាងដែលមានលំដាប់ទាំងអស់ចំនួន 10,000 ដែលមានឱកាសស្មើៗគ្នា ដើម្បីសម្រេចបាននូវអត្រាបង់ចំណេញសរុបរំពឹងទុក 96%។
ចំណុចសំខាន់គឺ ថាម្លាញដែលបានជ្រើសរើសមិនផ្លាស់ប្តូរថាគូលេខតំណាងដែលមានលំដាប់ណាមួយនឹងមានពិន្ទុសូនីទេ។ ការបង់ចំណេញសរុបត្រូវបានគណនាដោយប្រើរូបមន្ត៖
ចំណេញសរុប = 0.96 × ការភ្នាល់ពេញដែលបានចាប់យក × ពិន្ទុដើម^(របៀបដែលបានជ្រើសរើស + 1) / មធ្យមភាគ[របៀប]
មធ្យមភាពជាក់លាក់ដាច់ដោយឡែកសម្រាប់របៀបគឺ [0.281, 0.301, 0.341]។ អត្រាបង់ចំណេញសរុបរំពឹងទុកគឺ 96% ប៉ុន្តែនេះមិនមែនជាចំណេញសុទ្ធដែលធានាសម្រាប់ការលេងមួយដងទេ។
ការបញ្ជា ម៉ូដ និងការបង់ប្រាក់
កម្មវិធីបង្ហាញ (Demo) នេះផ្តល់នូវការបញ្ជាជាក់លាក់សម្រាប់គ្រប់គ្រងលំហូរល្បែង៖
- ភាគល្អិត និងម៉ូដ៖ ភាគល្អិតដែលបានចាប់បានទាំងមូលត្រូវបានប្រើប្រាស់; មិនមានការចែកចាយជួរដេកដាច់ដោយឡែកទេ។ មានកម្លាំងពិន្ទុដែលត្រូវបានធ្វើឱ្យមានស្តង់ដារដាច់ដោយឡែកចំនួនបី។
- ស្វ័យប្រវត្តិ និងបញ្ឈប់៖ ម៉ូដស្វ័យប្រវត្តិចាប់ផ្តើមដោយអតិបរមាដល់ទៅដប់ដង។ មុខងារបញ្ឈប់នឹងលុបចោលការដកស្រាបនាពេលអនាគតខណៈដែលការដកស្រាបបច្ចុប្បន្នកំពុងត្រូវបានដោះស្រាយ។
- ពេលវេលាបង់ប្រាក់៖ ការបង់ប្រាក់ធម្មតាត្រូវការពេលវេលាចលនាចំនួន 480ms; ម៉ូដដែលកាត់បន្ថយចលនាអាចបង់ប្រាក់នៅក្នុងការហៅមុខងារចលនាដំបូង។ ក្នុងអំឡុងពេលបង់ប្រាក់កម្រិតខ្ពស់ និងជួរស្វ័យប្រវត្តិ ភាគល្អិត ម៉ូដ និងការបំពេញថ្មនឹងត្រូវបានចាក់សោ ទោះបីជាសំឡេងនៅតែអាចប្រើបានក៏ដោយ។
- គ្មានការបង់ប្រាក់មុន៖ មិនមានមុខងារបង់ប្រាក់មុនទេ; បញ្ឈប់មានតែប៉ះពាល់ដល់ជុំនាពេលអនាគតប៉ុណ្ណោះ។
កាតប្រាក់ និងការរក្សាទុក
ការប្រើប្រាស់កាតប្រាក់ក្នុងកម្មវិធីបង្ហាញ (Demo) នេះអនុវត្តតាមច្បាប់ជាក់លាក់មួយចំនួន៖
- ទឹកប្រាក់ដើម៖ ទឹកប្រាក់ចាប់ផ្តើមដំបូងគឺ 1000។
- ការស្តារឡើងវិញ៖ ទឹកប្រាក់អាចត្រូវបានស្តារឡើងវិញដោយដៃទៅកាន់ចំនួន 1000 តែម្តង លុះត្រាតែនៅក្នុងស្ថានភាពស្ងប់ស្ងាត់ និងទឹកប្រាក់តិចជាង 10។ នេះនឹងកំណត់ទឹកប្រាក់ទៅ 1000 និងរក្សាទុកភាគបែងដែលនៅសល់។
- ភាគបែងដែលនៅសល់៖ ភាគបែងដែលនៅសល់នឹងត្រូវបានរក្សាទុកកាត់តាមរយៈការបង់ប្រាក់ ការបំពេញថ្ម និងការផ្ទុកឡើងវិញ។
- ការរក្សាទុក៖ ទឹកប្រាក់ដែលបានបង់ប្រាក់ហើយនឹងត្រូវបានរក្សាទុកក្នុងម៉ាស៊ីនក្នុងស្រុក រួមទាំងនៅពេលដែលវាឈានដល់សូន្យ។ ទោះយ៉ាងណាក៏ដោយ ជុំមួយដែលមិនទាន់បញ្ចប់នៅពេលផ្ទុកឡើងវិញនឹងបញ្ចប់ដោយគ្មានការសងប្រាក់វិញ ឬបន្ត។
ភស្តុតាងគណិតវិទ្យា
តារាងបែងចែកការបង្វិលសុទ្ធស្រដៀងគ្នាទៅនឹងការបង្វិលគំរូដែលបានវាស់។ ទិន្នន័យទាំងនេះគឺជាការសង្កេតគំរូគាំទ្រ មិនមែនជាច្បាប់បង់ប្រាក់គណិតវិទ្យា ឬការបង្វិលដែលបានសន្យាទេ។
| របៀប (ថាមពល) | ជុំ | RTP សុទ្ធ | RTP ដែលបានវាស់ (%) |
|---|---|---|---|
| 1 | 1,000,000 | 0.96 | 96.01708185037631 |
| 2 | 1,000,000 | 0.96 | 96.16489036546116 |
| 3 | 1,000,000 | 0.96 | 96.17173020500567 |
ចំណាំថាតម្លៃ RTP ដែលបានវាស់គឺជាការប៉ាន់ប្រមាណ និងអាចខុសគ្នាបន្តិចបន្តួចពីតម្លៃរំពឹងទុកសុទ្ធដែលមានតម្លៃ 0.96។
ឧទាហរណ៍ដែលបានគណនា
ឧទាហរណ៍ខាងក្រោមបង្ហាញអំពីមុខងារគណនាពិន្ទុផ្អែកលើមុខងារគណនាពិន្ទុសុទ្ធនៃ game.js៖
- Input: [0,0,0,0] → ពិន្ទុដើម: 2
- Input: [9,9,9,9] → ពិន្ទុដើម: 2
- Input: [0,1,2,3] → ពិន្ទុដើម: 0
ក្នុងគ្រប់ករណី ពិន្ទុដើមត្រូវបានគណនាជា max(0, L−2)។ ថាមពលមួយ ពីរ និងបី មិនផ្លាស់ប្តូរពិន្ទុដើមដែលស្មើសូន្យទេ។
ឯកជនភាព និងទស្សនិកជន
ការផ្ទុកទិន្នន័យ៖ ប្រភពប្រើប្រាស់ localStorage នៅក្នុង browser សម្រាប់កម្រិតលុកកាសាកលនិងការផ្ទេរផ្នែក។ ការប្រើប្រាស់នេះមិនបង្កើតភាពមិនចាត់ទុកជាអត្តសញ្ញាណ ឬលុបចោលការដំណើរការផ្សេងទៀតទេ។
ភាគីទីបី៖ ម៉ូដែលប្រកាសប្រើប្រាស់ stylesheet នៃ Google Fonts។ ការចាប់យកការស្នើសុំ browser ពិតប្រាកដនៅតែកំពុងរង់ចាំ; នេះមិនមែនជាការបញ្ជាក់ថាមិនមានការស្នើសុំ ឬការដំណើរការផ្សេងទៀតទេ។
សហគមន៍គោលដៅ៖ សហគមន៍គោលដៅគឺអាយុ 18+ ដោយផ្អែកលើគោលការណ៍នៃការណែនាំនេះ មិនមែនជាការបញ្ជាក់អំពីច្បាប់ក្នុងស្រុក ឬការត្រួតពិនិត្យអាយុដែលបានអនុវត្តទេ។ ការលេងសាកល្បងគ្មានដំណើរការចុះឈ្មោះ ឬដំណើរការបង់ប្រាក់ទេ ហើយកាក់សាកល្បងគ្មានតម្លៃជាលុកសាច់ប្រាក់ទេ។
សំណួរដែលគេសួរញឹកញាប់
របៀបណាដែលពិន្ទុដើមត្រូវបានគណនា?
ពិន្ទុដើមគឺ max(0, L−2) ដែល L ជាប្រវែងនៃផ្នែក palindromic វែងបំផុត។ វាប្រើប្រាស់លំដាប់ទីតាំងខណៈពេលដែលអនុញ្ញាតឱ្យលុបចោល ហើយមិនប្រើប្រាស់ប្រវែងនៃផ្នែកជាប់នោះទេ។
អ្វីកើតឡើងប្រសិនបើខ្ញុំបន្ទាន់ក្នុងអំឡុងពេលដែលការប្រកួតមិនទាន់បញ្ចប់?
ការបន្ទាន់បញ្ចប់ការប្រកួតមិនទាន់បញ្ចប់ដោយគ្មានការសង ឬបន្ត។ កម្រិតលុកនៅតែមាននៅក្នុង browser ប៉ុន្តែការប្រកួតមិនទាន់បញ្ចប់មិនត្រូវបានបន្តទេ។
ខ្ញុំអាចស្តារកម្រិតលុករបស់ខ្ញុំដោយស្វ័យប្រវត្តិបានទេ?
ទេ។ កម្រិតលុកត្រូវបានស្តារដោយដៃតែនៅពេលដែលមិនមានសកម្មភាព និងកម្រិតលុកតិចជាង 10។ នេះកំណត់កម្រិតលុកទៅ 1000 ពិតប្រាកដ និងរក្សាការផ្ទេរផ្នែក។