مسابقات برنامه نویسی بیان

مسابقات برنامه نویسی بیان

آخرین نظرات
  • ۲۰ خرداد ۹۴، ۱۹:۴۶ - spider robot
    توی#

۳ مطلب با موضوع «قوانین مسابقه» ثبت شده است

امتیاز هر سوال حل شده در این مرحله به شکل زیر محاسبه می شود:

 

n: تعداد پاسخ های پذیرفته شده از تمامی شرکت کنندگان

t: زمان ارسال پاسخ توسط مسابقه دهنده

p: تعداد تلاشهای ناموفق مسابقه دهنده

 

 

 

به بیان ساده، نکات زیر در این فرمول مد نظر بوده است:

 

  • هر چه سوال ساده تر باشد یا به عبارتی تعداد افراد بیشتری آن را حل کرده باشند، امتیاز آن سوال کاهش می یابد (سختی سوال).
  • هر چه بتوانید یک سوال سریعتر حل کنید، امتیاز بالاتری از آن سوال دریافت می کنید (سرعت).
  • هر بار تلاش ناموفق مقدار ثابتی را از امتیاز شما خواهد کاست (دقت).
 

قوانین مرحله‌ نهایی - Final round rules

پنجشنبه, ۱۹ بهمن ۱۳۹۱، ۰۴:۴۵ ب.ظ
  • Each competitor must bring a laptop to participate in contest using it.
  • Competitors will have 3-4 hours to complete 5-8 programming tasks.
  • Competitors may solve problems by any means, which is, given an input file, they should submit a correct output in the specified time limit. Not submitting any file in the time limit will be considered as an unsuccessful attempt.
  • Both input and output format are crucial. Adhere them precisely to avoid getting solutions judged as wrong.
  • Competitors will be free to use any programming language, library or computational application to solve problems.
  • Competitors may bring and use any pre-written code, document, etc.
  • For some tasks, competitors should be able to run binary files on their laptops. In such cases, the binary file will be built statically and available for Windows and Linux in both 32-bit and 64-bit architectures.
  • All problem statements will be available in English, although for Iranian’s convenience a Persian translation may be provided. Note that the English statements will be the judge’s reference in case of any difference.
  • The decision of the head judge is final in all matters.
  • برگزارکننده مسابقه

قواعد فنی مسابقه

دوشنبه, ۴ مهر ۱۳۹۰، ۱۰:۰۷ ب.ظ

سوالات


هر مسابقه شامل 5 مساله می باشد که شرکت کنندگان مدت 3 ساعت برای حل آنها زمان دارند. شکل کلی مسائل به این صورت است که از شرکت کنندگان خواسته می شود با نوشتن یک برنامه ی کامپیوتری خواسته های مساله را برآورده کنند.
برای هر مساله شکل دقیق ورودی که برنامه باید دریافت نماید و هم چنین شکل دقیق خروجی که باید تولید نماید مشخص شده است.
مسائل به گونه ای طراحی شده اند که در هر کدام از آنها توانایی های مختلف شرکت کنندگان مورد آزمایش قرار می گیرد. این توانایی ها شامل تسلط بر زبان برنامه نویسی مورد استفاده، آشنایی با الگوریتم های محاسباتی و ریاضیاتی، آشنایی با ساختار داده های مختلف و... می باشند. سطح پیچیدگی سوالات به گونه ای انتخاب شده است که شرکت در مسابقه برای تمام افراد آشنا با برنامه نویسی امکان پذیر می باشد. همچنین سوالات هر مسابقه به ترتیب سختی مرتب شده است، اما توصیه می شود ابتدای مسابقه تمام سوالات خوانده شوند.
متن تمام مساله ها در وبسایت مسابقه در زمان برگزاری قابل رویت می باشد، هم چنین شرکت کنندگان می توانند مساله ها را در فرمت PDF به صورت یکجا یا جدا جدا دریافت کنند.

 

حل سوالات


روش حل هر سوال در مسابقه به این شکل است:
مطالعه دقیق سوال : شرکت کنندگان باید با توجه به توضیحات صورت سوال و مثال های ورودی و خروجی برنامه ای بنویسند که ورودی را در فرم گفته شده قبول کرده و خروجی مناسب را در فرم خواسته شده تولید نماید.
پیاده سازی راه حل سوال‌: شرکت کنندگان می توانند سوالات مسابقه را با زبان برنامه نویسی دلخواه خود حل کنند.
درخواست و دریافت ورودی:‌ هنگامی که شرکت کننده از برنامه ی خود مطمئن می شود؛ برای ارسال راه حل خود در قدم اول در قسمت حل وبسایت مسابقه، درخواست «حل سوال» می دهد. وبسایت مسابقه لینک دانلود ورودی مساله را به کاربر نشان می دهد و کاربر از این لحظه به مدت مشخصی که در صورت سوال مشخص شده است فرصت برای ارسال خروجی جواب مساله دارد. زمان باقیمانده برای ارسال خروجی در وبسایت به صورت شمارش معکوس به شرکت کننده نمایش داده می شود.
نکته مهم این است که به ازای هر بار درخواست سوال ورودی های متفاوت ارسال میشود. در نتیجه وبسایت منتظر دریافت خروجی متناظر با آخرین ورودی ارسال شده است.
تولید خروجی:‌ شرکت کننده ورودی دانلود شده را به برنامه ی خود می دهد و خروجی برنامه را به صورت یک فایل متنی تولید می کند. نکته مهمی که دوباره در این قسمت به آن اشاره می کنیم این است که کسانی که برای یک سوال چند بار درخواست حل داده اند دقت کنند که حتما آخرین ورودی را به برنامه خود می دهند.
بارگذاری خروجی: خروجی تولید شده توسط برنامه را به همراه کد برنامه باید تا قبل از به اتمام رسیدن زمان حل مساله در وبسایت بارگذاری می نماید تا سیستم داوری مسابقه روی خروجی ارسال شده قضاوت انجام دهد. اگر این عمل در زمان مشخص شده انجام بگیرد خروجی به سیستم داوری برای قضاوت در مورد درستی جواب منتقل می شود، وگرنه برای کاربر یک جواب اشتباه در نظر گرفته می شود.

لازم به ذکر است که سیستم داوری خودکار می باشد و در صورتی که برنامه ی حل شده خروجی را دقیقا در فرم خواسته شده تولید نکند منجر به اشتباه فرض شدن خروجی خواهد شد.

 

دریافت نتیجه ارسال

تا دقایقی بعد از حل یک سوال و ارسال جواب آن در وبسایت، نتیجه ی قضاوت روی وبسایت اعلام می گردد. نتیجه ی قضاوت در مسابقه می تواند یکی از گزینه های قبول شده، اشتباه و اتمام زمان باشد. گزینه ی اتمام زمان مربوط به زمانی است که خروجی مسابقه در فرصت مقرر به سیستم ارسال نشده باشد و معادل یک بار حل اشتباه می باشد. گزینه ی اشتباه به معنی آن است که خروجی ارائه شده با خروجی مورد انتظار متفاوت می باشد. دقت کنید با توجه به خودکار بودن سیستم قضاوت، فرم خروجی برنامه باید دقیقا منطبق با فرم خروجی مثال مساله باشد، وگر نه اشتباه در نظر گرفته می شود. در صورت دریافت جواب اشتباه و یا اتمام زمان، شرکت کننده همچنان می تواند درخواست حل دوباره بدهد و محدودیتی برای این کار وجود ندارد. جواب قبول شده مربوط به زمانیست که خروجی ارسال شده مورد قبول سیستم داوری است و شرکت کننده امتیاز آن سوال را دریافت می کند.
 

محاسبه امتیاز

در محاسبه ی امتیاز هر سوال چهار ملاک مهم مورد نظر می باشد. اول درستی حل سوال می باشد، دوم زمان حل سوال، سوم تعداد تلاشهای ناموفق برای حل آن سوال و در آخر تعداد افرادی که سوال را حل کرده اند. به این شکل که سوال حل نشده یا اشتباه حل شده صفر امتیاز دارد، اما سوال حل شده بر اساس معیار های ذکر شده برای شرکت کننده امتیاز خواهد داشت. امتیاز هر سوال هرچه زودتر حل شود بیشتر است و هرچه توسط شرکت کنندگان بیشتری حل شود کمتر است.
رابطه ی محاسبه ی امتیاز تابعی از تعداد شرکت کنندگانیست که سوال را حل کرده اند و مقدار زمانی است که هنگام ارسال جواب پذیرفته شده از مسابقه گذشته است. هم چنین هر گاه سوالی پذیرفته شود، هر بار تلاش ناموفق برای یک سوال از امتیاز آن سوال حل شده می کاهد. در نتیجه تلاشهای ناموفق شما تا هنگامی که آن سوال را حل نکنید، هیچ تاثیری در امتیاز شما نخواهد داشت.
رده بندی شرکت کنندگان براساس جمع امتیازات نهایی آنها می باشد. توجه کنید که با توجه به تاثیر تعداد شرکت کنندگان حل کننده ی سوال در امتیاز آن، امتیاز کل یک شرکت کننده می تواند به مرور زمان کم شود.

 

توضیح ها و اعلان ها

در صورت نیاز شرکت کنندگان می توانند مراجعه به وبسایت در مورد ابهام در صورت سوالات و... از تیم برگزاری مسابقه درخواست توضیح نمایند، و یا نکته ای را اعلام نمایند. این درخواست ها فقط توسط تیم برگزار کننده قابل دیدن می باشد. هم چنین تیم برگزاری در صورتی که نیاز باشد با ارسال اعلان عمومی و یا اعلان در مورد یک سوال خاص توضیحاتی در باره ی آن را به تمام شرکت کنندگان اعلام می کند. این اعلان ها نیز در وبسایت قابل رویت می باشند.
 

چند نکته جوانمردانه

مسابقات به صورت تک نفره برگزار می شود و از شرکت کنندگان محترم نیز تقاضا می شود، به صورت انفرادی در مسابقه شرکت نمایند.
با توجه به انفرادی بودن مسابقه شرکت کنندگان باید از هدیه دادن کد سوالات به یکدیگر خود داری نمایند. همانطور که قبلا توضیح داده شد، کد راه حل سوالات باید همراه با جواب سوال برای سیستم داوری ارسال شود، بنابر این استفاده از یک کد توسط چند نفر امکان پذیر نخواهد بود و ممکن است منجر به تغییر نتیجه ی حل از سوی تیم داوری گردد. در نتیجه امتیازات کسب شده تا انتهای مسابقه به هیچ عنوان قطعی نبوده و در صورت مشاهده مواردی از نقض قانون امتیاز فرد خاطی تغییر خواهد کرد.

  • برگزارکننده مسابقه