✍️ اولین قانون جدول مسابقه ساده است: کسی که مسئله بیشتری حل کرده جلوتر میآید. جریمه در این گام عمداً وارد تصمیم نمیشود؛ اول باید مطمئن شویم اولویت اصلی را درست اجرا کردهایم. حتی جریمه خیلی کم نباید کسی با تعداد حل کمتر را از شرکتکننده پرحلتر جلو بیندازد.
برای مثال، نازنین با چهار حل و جریمه دویست از کیان با سه حل و جریمه بیست جلوتر است. اگر دو نفر چهار حل داشته باشند، فعلاً همان ترتیب ورودی را نگه میداریم. در گام بعد قانون جریمه را اضافه میکنیم؛ این تفکیک کمک میکند علت یک جابهجایی اشتباه را دقیقتر پیدا کنیم.
تابع را با یک مرتبسازی تازه کامل کن و فقط نامها را خروجی بده. فهرست خالی نتیجه خالی و تکعضوی نتیجه یک نام دارد. تعداد حل صفر هم کمترین مقدار معتبر است، نه نشانه داده خراب. خطای رایج، مرتبسازی صعودی یا استفاده از penalty به عنوان کلید اصلی است. برای بررسی شخصی، دو رکورد بساز که تعداد حل بهتر ولی جریمه بدتر دارند؛ این آزمون نشان میدهد معیار اصلی واقعاً درست در اولویت قرار گرفته است.
تابع آماده course_check فقط برای ارزیابی است: تابع اصلی را صدا میزند و حفظ ورودی را بررسی میکند. آن را تغییر نده؛ پاسخ تو همان تابع خواستهشده است.
فعالیت شما
تابع rank_by_solved(players) رکوردهای name رشته و solved/penalty صحیح نامنفی میگیرد و نامها را تنها با solved نزولی برمیگرداند؛ penalty در این گام اثری ندارد و solved مساوی ترتیب ورودی را حفظ کند. خالی []، تکعضوی همان نام و solved=0 معتبر. A با 4 حل و جریمه 200 از B با 3 حل و جریمه 20 جلوتر است. ورودی و رکوردها تغییر نکنند. تابع آماده course_check فقط برای ارزیابی است: تابع اصلی را صدا میزند و حفظ ورودی را بررسی میکند. آن را تغییر نده؛ پاسخ تو همان تابع خواستهشده است.