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

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

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

۲۶ مطلب در مهر ۱۳۹۰ ثبت شده است

فرمول محاسبه امتیازات

شنبه, ۱۶ مهر ۱۳۹۰، ۰۸:۰۳ ب.ظ

فرمول امتیاز دهی مرحله اول

در این فرمول n تعداد افرادی است که یک مساله را حل کرده اند. T زمان کل مسابقه و t زمان پذیرفته شدن یک راه حل. w نیز تعداد دفعاتی است که یک فرد تلاش ناموفق دارد.

در این فرمول ۳ عامل موثر است:

۱- سختی سوال :‌ این عامل با تعداد کسانی که سوال را حل کرده اند رابطه عکس دارد.

۲- سرعت حل:‌  این فاکتور با هر چه که از زمان مسابقه می گذرد از امتیاز شما می کاهد.

۳- دقت در حل:‌ هربار تلاش ناموفق مقدار ثابتی از شما می کاهد.

 

فرمول امتیاز دهی مرحله دوم

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

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

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

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

راهیافتگان به مرحله دوم پنجشنبه ۲۱ مهرماه ۹۰ ساعت ۹:۳۰ صبح با هم به رقابت خواهند پرداخت.

 

  دریافت فایل سوالات


 

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

 

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

  • سیستم مسابقات از مروگرهای IE7 و پایین تر، Chrome 2 و پایین تر، firefox 3.5  و پایین تر پشتیبانی نمی کند. اگر در استفاده از سایت مسابقه با مشکلی مواجه بودید، حتما از مرورگرهای به روز تر استفاده کنید.
  • قابل توجه کسانی که با ویندوز کار می کنند:
    بیشتر زبانهای برنامه نویسی (جاوا، سی، پایتون، تمام زبانهای دات نت و ... ) فرمت فایل های ورودی را می فهمند و هیچ مشکلی با آن نخواهد داشت. به استثنای کسانی که با VB6 کار می کنند که توضیحات مربوط به آن در نمونه سوالات وجود دارد.
    اما اگر می خواهید خودتان هم وقتی فایل ها را باز می کنید با فرمت درستی ببنید می توانید با IDE های خود مثلا Visual Studio ، eclipse و یا با برنامه ++Notepad  فایل ورودی را باز کنید.
  • کسانی که در محیطهای IDE مثل Visual Studio یا eclipse کار می کنند دقت کنند که در قسمت "ارسال کد" تنها فایل کد خود که منطق برنامه در آن است را بفرستند نه تمام پروژه را. به عنوان مثال فایلهای با پسوند java, cpp, cs یا هر پسوند دیگری که نشان دهنده یک فایل کد است را ارسال کنید.
  • سیستم عامل و زبان برنامه نویسی تاثیری در پذیرش برنامه شما ندارد.
  • اگر در دریافت فایل ورودی دچار مشکل شدید، در زمان باقیمانده «دریافت دوباره فایل ورودی» را بزنید.
  • کسانی مشکل کار با فایل دارند به توضیحات نمونه سوالات مراجعه کنند.

 

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

یکی از ویژگی های این مسابقات این است که سوال های آن توسط برگزیدگان مسابقات جهانی برنامه نویسی و مدال آوران المپیادهای علمی کشوری و جهانی طراحی شده اند.

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

 

سعید رضا صدیقین
عضو واحد توسعه نرم افزار و نوآوری بیان

  • مدال طلای المپیاد کشوری کامپیوتر ۸۶
  • مدال نقره المپیاد جهانی کامپیوتر ۲۰۰۷
  • مقام اول مسابقات ACM منطقه ای غرب آسیا ۲۰۰۸
  • مقام ۱۴ مسابقات ACM جهانی ۲۰۰۹
  • مقام دوم مسابقات ACM منطقه ای غرب آسیا ۲۰۰۹
  • مقام ۳۱ مسابقات ACM جهانی ۲۰۱۰
  • کارشناس نرم افزار، دانشگاه صنعتی شریف

 

سید علی رکنی
مدیر دفتر توسعه دانش و مهارت بیان

  • مقام هفتم مسابقات جهانی روبوکاپ شبیه سازی فوتبال ۲۰۰۳
  • مقام اول مسابقات جهانی روبوکاپ شبیه سازی فوتبال ۲۰۰۴
  • مربی در مسابقات ACM منطقه ای غرب آسیا ۲۰۰۹ 
  • کارشناس نرم افزار، دانشگاه صنعتی امیرکبیر
  • کارشناس فناوری اطلاعات، دانشگاه صنعتی امیرکبیر
  • کارشناس ارشد نرم افزار، دانشگاه صنعتی شریف


محمد صالحه
مدیر واحد پژوهش و دیدبانی فناوری بیان

  • مدال نقره المپیاد کشوری کامپیوتر ۸۲
  • مقام سوم مسابقات جهانی روبوکاپ شبیه سازی فوتبال ۲۰۰۴
  • مقام دوم مسابقات جهانی روبوکاپ شبیه سازی امداد ۲۰۰۷
  • مقام سوم مسابقات جهانی روبوکاپ شبیه سازی امداد ۲۰۰۸
  • مقام هفتم مسابقات ACM منطقه ای غرب آسیا  ۲۰۰۹
  • مدال طلای المپیاد دانشجویی کامپیوتر ۸۹ 
  • کارشناس نرم افزار، دانشگاه صنعتی شریف
  • کارشناس  ارشد نرم افزار، دانشگاه صنعتی شریف


مصطفی رکوعی
عضو واحد توسعه نرم افزار و نوآوری بیان

  • مقام سوم مسابقات جهانی روبوکاپ شبیه سازی فوتبال ۲۰۰۴
  • مقام سوم مسابقات جهانی روبوکاپ شبیه سازی مربی  ۲۰۰۶
  • مقام سوم مسابقات ACM منطقه ای غرب آسیا ۲۰۰۸
  • مقام سوم مسابقات ACM منطقه ای غرب آسیا ۲۰۰۷ 
  • کارشناس نرم افزار، دانشگاه علم و صنعت


 نیما حمیدی
عضو واحد توسعه نرم افزار و نوآوری بیان

  • مدال نقره المپیاد کشوری کامپیوتر ۸۵
  • مدال طلای المپیاد کشوری ریاضی ۸۶
  • مدال نقره المپیاد جهانی ریاضی ۲۰۰۸
  • مدال طلای مسابقات جهانی ریاضی ۲۰۱۱ 
  • کارشناس ریاضی، دانشگاه صنعتی شریف
  • کارشناس نرم افزار، دانشگاه صنعتی شریف


 میلاد بخشی زاده
 عضو واحد ریاضیات و الگوریتمهای پیشرفته بیان

  • مدال طلای المپیاد کشوری ریاضی ۸۵
  • مدال طلای المپیاد کشوری ریاضی ۸۶
  • مدال نقره المپیاد جهانی ریاضی ۲۰۰۸
  • مدال طلای مسابقات جهانی ریاضی ۲۰۱۰ 
  • کارشناس ریاضی ، دانشگاه صنعتی شریف


حسین اسقندیاری
عضو واحد توسعه نرم افزار و نوآوری بیان

  • مدال طلای المپیاد کشوری کامپیوتر ۸۵ 
  • کارشناس نرم افزار، دانشگاه صنعتی شریف


سید حسام  فیروزی
عضو واحد ریاضیات و الگوریتمهای پیشرفته بیان

  • مدال طلای کشوری ریاضی ۸۵
  • مدال طلای جهانی ریاضی ۲۰۰۷
  • مدال طلای المپیاد جهانی دانشجویی ریاضی ۲۰۱۰
  • مدال طلای المپیاد کشوری دانشجویی ریاضی ۹۰
  • کارشناس فیزیک، دانشگاه صنعتی شریف 
  • دانشجوی دکتری ریاضی، دانشگاه صنعتی شریف  
  • برگزارکننده مسابقه

نمونه سوالات مسابقه

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

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

جمع دو عدد

برنامه ای بنویسید که ۲ عدد از ورودی گرفته و جمع آنها را چاپ کند.

ورودی مساله:

در خط اول فایل ورودی یک عدد قرار دارد( )که مشخص کننده ی تعداد جمع هایی است که باید انجام شود. در خط بعدی هر کدام دو عدد و وجود دارد که باید با یک دیگر جمع شوند.

خروجی مساله:

به ازای هر دو عدد و حاصل جمع و را در یک خط جداگانه چاپ نمایید.

ورودی و خروجی مثال:

مثال خروجی مثال ورودی
4
3
2
3 1
1 2

 

پاسخ:

پاسخ به زبانهان‌های سی‌پلاس‌پلاس، پاسکال، جاوا ، پایتون ، سی شارپ و ویژوال بیسیک 6

حرف نقره‌ای

حرف نقره‌ای در یک کلمه، حرفی است که فاصله آن از دو طرف رشته مساوی باشد. مثلا در کلمه ALI ‎، حرف ‎L‎ حرف نقره ای است، چون فاصله آن از دو طرف ‎ است. ولی کلمه ‎SARA ‎ حرف نقره ای ندارد، چون حرفی را نمی توان پیدا کرد که فاصله آن از دو طرف برابر باشد‎

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

ورودی مساله:

در خط اول فایل ورودی عدد تعداد تست های ورودی را نشان می‌دهد( ). در ‎ خط بعدی، در هر خط یک کلمه قرار گرفته است.

خروجی مساله:

به ازای هر تست، پاسخ سوال را در یک خط جداگانه چاپ کنید

ورودی و خروجی مثال:

مثال خروجی مثال ورودی
6 jl‎
‎5 v‎
2
‎‎ywjlbi‎‎
‎apvsk‎‎

 

پاسخ:

پاسخ به زبانهان‌های سی‌پلاس‌پلاس، پاسکال، جاوا، پایتون ، سی شارپ و ویژوال بیسیک 6

جمع زیردنباله

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

به عنوان مثال دنباله ‎ ‎  را در نظر بگیرید. این دنباله ‎ زیر دنباله متفاوت دارد: و و و و و که مجموع آنها به ترتیب ‎ و ‎و ‎و ‎و و ‎ می باشد. در نتیجه این لیست عنصر متفاوت دارد.

ورودی مساله:

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

تمام اعداد ورودی بین ‎ ‎ و ‎ قرار دارند.

خروجی مساله:

به ازای هر تست، پاسخ سوال را در یک خط جداگانه چاپ کنید.

ورودی و خروجی مثال:

مثال خروجی مثال ورودی
5
3
2
3
1 2 3
3
1 1 1

پاسخ:

پاسخ به زبانهان‌های سی‌پلاس‌پلاس، پاسکال، جاوا، پایتون ، سی شارپ و ویژوال بیسیک 6

 

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

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

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


ثبت نام در مسابقه

دعوت نامه بگیرید و آن را ارسال کنید:

وارد صفحه اول مسابقه (contest.bayan.ir) شوید و دکمه "ثبت نام" را کلیک کنید. پنجره ای باز می شود که در آن گفته شده contest90 را به عنوان کد دعوتنامه وارد کنید.

با تایید این پنجره وارد صفحه ای می شوید که از شما پرسیده شده "آیا شمادعوتنامه دارید؟". در این صفحه شما دکمه "بله دعوت نامه دارم" را کلیک کنید.

در صفحه بعد کد دعوت نامه را همانطور که گفته شده بود contest90 وارد کنید و دکمه "ارسال" را بزنید.

اطلاعات خود را ثبت کنید:

پس از ارسال دعوت نامه، شما وارد صفحه ثبت نام می شوید. اطلاعات خود را وارد کنید و مطمئن شوید که همه فیلدهای اجباری "تیک سبز" خورده اند، در انتهای صفحه متن موافقت نامه را تایید کرده و دکمه ارسال را بزنید.

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

حساب کاربری خود را فعال کنید:

وارد ایمیل خود شوید و لینک فعال سازی ارسال شده را کلیک کنید. با کلیک رو لینک، شما به "صفحه ورود" هدایت می شوید.

وارد سایت مسابقات شوید:

در "صفحه ورود" با استفاده از نام کاربری و کلمه عبور خود وارد سایت شوید. پس از ورود، لیست سرویس هایی را می بینید که به آنها دسترسی دارید. البته شما فقط به سرویس مسابقات برنامه نویسی دسترسی دارید. روی "مسابقات برنامه نویسی بیان" کلیک کرده و وارد سایت مسابقات (contest.bayan.ir) شوید.

در صفحه اول سایت مسابقات، دکمه "ورود" را کلیک کنید.



شرکت در مسابقه

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

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

مسابقه تمرینی (آزمایشی):

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

مسابقه دانش آموزی:

این مسابقه و سوالات آن برای دانش آموزان طراحی شده است.

مسابقه آزاد:

شرکت در این مسابقه برای عموم آزاد است. سطح سوالات این مسابقه بالاتر از مسابقه دانش آموزی می باشد.



صفحه مسابقه

منوی سمت راست در صفحه مسابقه، امکان مشاهده قسمت های مختلف را به شما می دهد. پنج قسمت "مساله ها"، "ارسال جواب"، "رده بندی"، "تاریخچه" و "ارتباط با داوران" در ادامه شرح داده شده است. همچنین امکان مشاهده مستقیم صورت هر مساله وجود دارد.

مساله ها

در این قسمت لیست مساله ها قرار دارد. با کلیک روی عنوان هر مساله، صفحه مربوط به آن مساله دیده می شود.

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

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

ارسال جواب

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

برنامه خود را بر روی فایل دریافت شده اجرا کنید. سپس از طریق دو قسمت "خروجی برنامه" و "کد برنامه" فایل خروجی تولید شده و همچنین فایل کد برنامه خود (source code) را ارسال (upload) نمایید.

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

با هر بار کلیک روی دکمه "دریافت ورودی جدید"، یک فایل جدید برای شما ارسال می شود.

قسمتهای تاریخچه و رده بندی

در این قسمت می توانید نتیجه کار خود و همچنین سایر شرکت کنندگان را مشاهده نمایید. در منوی اصلی نیز در کنار لینک هر مساله، نتیجه نمایش داده می شود.

ارتباط با داوران

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

 

سوالات متداول

سوال ۱:‌ مسابقه تمرینی چیست؟
جواب:‌ هدف از مسابقه آزمایشی صرفا آشنایی شما با سایت مسابقه و تمرین کار با سایت است. سوالات این مسابقه به همراه جواب آنها در ۵ زبان در بخش نمونه سوالات قرار گرفته است. برای آشنایی با نحوه نگارش سوالات و ارسال جواب، شرکت در مسابقه آزمایشی اکیدا توصیه می شود. شرکت در این مسابقه اجباری نیست و امتیاز آن هیچ تاثیری در رده بندی شما در مسابقه اصلی ندارد.

سوال ۲:‌ آیا می توان در هر دو مسابقه آزاد و دانش آموزی شرکت کرد؟
جواب:‌ شرکت در مسابقه دانش آموزی فقط برای افراد زیر ۱۸ سال آزاد است. ولی برای شرکت در مسابقه آزاد هیچ محدودیتی وجود ندارد. ولی با توجه به اینکه مرحله دوم مسابقه آزاد و مرحله اول مسابقه دانش آموزی در یک روز برگزار می شود، شرکت در هر دو توصیه نمی شود.

سوال ۳:‌ چگونه می توانید سن افرادی که در مسابقه دانش آموزی شرکت می کنند را بررسی می کنید؟
جواب :‌ مسابقه نهایی به صورت حضوری برگزار می شود. یعنی قبل از شرکت در مسابقه نهایی مدارک شرکت کنندگان بررسی می شود و در صورت نقض قوانین از شرکت فرد در مسابقه نهایی ممانعت به عمل می آید.

سوال ۴:‌ آیا محدودیتی در استفاده از مروگر وجود دارد؟
جواب:‌ سعی شده است که بتوانیم از تعداد زیادی از مرورگرها پشتیبانی کنیم. ولی برای اطمینان از مروگرهای جدیدتر استفاده کنید.

سوال ۵:‌ نحوه محاسبه امتیاز چگونه است؟
جواب:‌ به هر سوال حل شده شما ۱ امتیاز داده می شود. سپس درجه سختی سوال به آن اضافه می شود. درجه سختی از روی تعداد افرادی که سوال را حل کرده اند به دست می آید.
سپس دو مقدار از عدد بدست آمده کم می شود.
یکی ضریبی متناسب با زمان حل مساله. یعنی هر چه دیرتر حل کنید عدد بیشتری از شما کم می شود.
دیگر ضریبی از تعداد پاسخها نادرستی که به این سوال داده اید. یعنی هر چه برای یک سوال پاسخهای نادرست بیشتری بفرستید عدد بیشتری از شما کم می شود.

سوال ۶: آیا کسانی که با سرعت کم به اینترنت متصل می شوند، می توانند از در این مسابقه شرکت کنند؟
جواب:‌ زمان تعیین شده برای حل هر سوال به گونه ای برنامه ریزی شده که شما بتوانید با سرعت کم هم در مسابقه شرکت کنید. ولی استفاده از اینترنت سرعت بالا کار شما را تسهیل می کند.

سوال ۷: فایل ورودی و خروجی چیست؟‌ چگونه می توان با فایل کار کرد؟
جواب:‌ شما هنگامی که سوال خود را حل کردید و با ورودی های تستی آن را آزمایش کردید در خواست ورودی اصلی را می کنید. با این درخواست سیستم به شما یک فایل ورودی می دهد که شما باید آن را به برنامه خود بدهید. خروجی تولید شده از برنامه شما همان جوابیست که باید به عنوان فایل خروجی برای ما ارسال کنید. این فایل را به همراه کد برنامه خود برای سیستم ارسال می کنید.
   نکته‌: در مورد کار با فایل در انتهای نمونه سوالات راهنمایی لازم انجام شده است.

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


 

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

جوایز بخش آزاد و دانشجویی

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


نفر اول :‌ دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +  تی شرت مسابقات +‌ ۱۵/۰۰۰/۰۰۰ ریال معادل ۱ میلیون و پانصد هزار تومان

نفر دوم: دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +  تی شرت مسابقات +‌‌ ۱۰/۰۰۰/۰۰۰ ریال معادل ۱ میلیون تومان

نفر سوم: دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) تی شرت مسابقات +‌ ‌۵/۰۰۰/۰۰۰ ریال معادل پانصد هزار تومان

نفر چهارم : دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات +‌ ‌۲/۵۰۰/۰۰۰ ریال معادل دویست و پنجاه هزار تومان

نفر پنجم : دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات +‌ ‌۱/۵۰۰/۰۰۰ ریال معادل یکصدو پنجاه هزار تومان

نفرات ششم تا سی ام :‌ دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات

نفرات سی و یکم تا پنجاهم :‌ تقدیرنامه

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

جوایز بخش دانش آموزی

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

نفر اول : دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات +‌ ‌۵/۰۰۰/۰۰۰ ریال معادل پانصد هزار تومان

نفر دوم : دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات +‌ ‌۳/۰۰۰/۰۰۰  ریال معادل سیصد هزار تومان

نفر سوم : دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات +‌ ‌۲/۰۰۰/۰۰۰  ریال معادل دویست هزار تومان

 نفرات چهارم تا بیستم :‌ دعوت نامه عضویت در بلاگ بیان (blog.ir)  و صندوق بیان (bayanbox.ir) +‌  تی شرت مسابقات

نفرات بیست و یکم تا چهلم :‌ تقدیرنامه

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

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

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

سوالات


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

 

حل سوالات


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

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

 

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

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

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

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

 

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

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

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

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

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