ساختار مسابقه

چگونه مسابقه برگزار می‌شود؟

مسابقه‌ی کدکد در دو مرحله برگزار می‌شود: مرحله‌ی آنلاین با امتیازدهی به سبک کانتست‌های الگوریتمی، و مرحله‌ی حضوری با رتبه‌بندی استاندارد ICPC. در هر مرحله، شرکت‌کننده‌ها در دو سطح (متوسطه‌ی اول و دوم) به‌صورت مستقل رقابت می‌کنند.

۱
مرحله‌ی اول · آنلاین

آزمون آنلاین — Codeforces-style

در زمان اعلام‌شده وارد سامانه می‌شوی، سوال‌ها باز می‌شوند و تو شروع به حل می‌کنی. هر چه زودتر و دقیق‌تر حل کنی، امتیاز بیشتری می‌گیری.

ساختار مسابقه

  • تعداد سوال‌ها: ۵ تا ۷ سوال (بسته به سطح)
  • مدت زمان: ۲ ساعت (۱۲۰ دقیقه)
  • شروع هم‌زمان: همه‌ی شرکت‌کننده‌ها در یک لحظه شروع می‌کنند
  • داوری خودکار: هر submission بلافاصله داوری می‌شود (AC / WA / TLE / RE)
  • رتبه‌بندی زنده: جدول رتبه‌بندی در طول مسابقه به‌روز می‌شود

سیستم امتیازدهی

امتیاز هر سوال با سه عامل تعیین می‌شود:

امتیاز نهایی = امتیاز پایه × ضریب زمان − جریمه هر WA
امتیاز پایه (Base Score)
هر سوال یک امتیاز اولیه دارد. سوال‌های سخت‌تر امتیاز بیشتری دارند. مثال:
ABCDEF
۵۰۰۷۵۰۱۰۰۰۱۲۵۰۱۷۵۰۲۲۵۰
ضریب زمان (Time Decay)
هرچه دیرتر سوالی را حل کنی، امتیاز کمتری می‌گیری: امتیاز هر سوال از ابتدای مسابقه تا پایان، به صورت خطی تا نصف کاهش می‌یابد. مثلاً سوال ۱۰۰۰ امتیازی را اگر در دقیقه ۳۰ حل کنی، ۸۷۵ امتیاز می‌گیری و اگر در پایان مسابقه حل کنی، ۵۰۰ امتیاز. اگر هم حل نکنی، امتیازی نمی‌گیری.
جریمه WA (Wrong Answer)
هر ارسال اشتباه قبل از پذیرش نهایی، ۵۰ امتیاز از امتیاز همان سوال کم می‌کند. پس قبل از submit، کدت را مرور کن. امتیاز هر سوال هرقدر هم ارسال غلط داشته باشی، از ۳۰٪ امتیاز پایه کمتر نمیشود.

مثال

سوال C با امتیاز پایه‌ی ۱۰۰۰ را در نظر بگیر:

حل در دقیقه‌ی ۲۰، بدون WA ≈ ۹۱۶ امتیاز
حل در دقیقه‌ی ۱۰۰، بدون WA ≈ ۵۸۳ امتیاز
حل در دقیقه‌ی ۱۰۰، با ۲ WA ≈ ۴۸۳ امتیاز
۲
مرحله‌ی دوم · حضوری

فینال حضوری — ICPC-style

نفرات برتر مرحله‌ی آنلاین به فینال حضوری دعوت می‌شوند. در این مرحله، رتبه‌بندی به سادگی بر اساس تعداد سوال‌های حل‌شده و مجموع جریمه‌ی زمانی است.

ساختار مسابقه

  • تعداد سوال‌ها: ۸ تا ۱۰ سوال (سطح بالاتر از مرحله‌ی اول)
  • مدت زمان: ۳ ساعت (۱۸۰ دقیقه)
  • محل برگزاری: مدرسه‌ی شهید مدنی تبریز
  • تیم‌ها: تک‌نفره یا دونفره (مثل مرحله‌ی آنلاین)
  • زبان‌های مجاز: C، C++‎، C#‎، Java، Python (پنج زبان؛ به دلیل محدودیت سخت‌افزاری)

سیستم امتیازدهی

در فینال از سیستم استاندارد ICPC استفاده می‌شود:

رتبه = بیشترین تعداد حل ، سپس کمترین مجموع جریمه
معیار اول: تعداد حل (Solved)
هر سوال پذیرفته‌شده یک حل محسوب می‌شود. تیمی که سوال‌های بیشتری حل کرده باشد، بالاتر است. در اینجا سختی سوال مهم نیست — یک سوال ساده به اندازه‌ی یک سوال سخت ارزش دارد.
معیار دوم: جریمه (Penalty)
اگر دو تیم تعداد حل یکسان داشته باشند، تیمی که مجموع جریمه‌ی کمتری داشته باشد، بالاتر است. جریمه برابر است با:
Penalty = زمان حل + ۲۰ × تعداد WA قبل از AC

مثال

دو تیم را در نظر بگیر:

تیم الف: ۷ سوال حل، مجموع جریمه ۶۵۰ رتبه‌ی ۱
تیم ب: ۷ سوال حل، مجموع جریمه ۷۲۰ رتبه‌ی ۲
تیم ج: ۶ سوال حل، مجموع جریمه ۴۰۰ رتبه‌ی ۳

تیم ج با وجود جریمه‌ی کمتر، به‌خاطر حل کمتر، رتبه‌ی سوم را می‌گیرد.

جایزه‌ها

نفرات برتر چه چیزی دریافت می‌کنند؟

نفرات اول تا سوم

جوایز نقدی و غیرنقدی، همراه با گواهی رتبه.

راه‌یافتگان به فینال

گواهی حضور در مرحله‌ی نهایی و امتیاز ویژه برای رزومه.

همه‌ی شرکت‌کننده‌ها

دسترسی به امکانات آموزشی در حوزه‌ی برنامه‌نویسی.

زمان‌بندی

تاریخ‌های مهم

به‌زودی اعلام می‌شود

شروع ثبت‌نام

باز شدن فرم ثبت‌نام برای همه‌ی دانش‌آموزان

به‌زودی اعلام می‌شود

پایان ثبت‌نام

آخرین مهلت ثبت‌نام و پرداخت هزینه

به‌زودی اعلام می‌شود

مرحله‌ی آنلاین

برگزاری آزمون آنلاین برای همه‌ی شرکت‌کننده‌ها

به‌زودی اعلام می‌شود

مرحله‌ی حضوری

فینال حضوری و اعلام نفرات برتر