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

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

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

راهنمای ارسال پاسخ

چهارشنبه, ۱۶ مهر ۱۳۹۳، ۰۵:۴۴ ب.ظ

برای حل پاسخ مسائل پس از کلیک کردن بر روی هر یک، متن آن‌ها مطابق مثال در قسمت میانی نمایش داده می‌شود.

 

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

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

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

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

نکته: امکان ارسال چندباره پاسخ سوالات وجود دارد اما بدیهی است که هر ارسال ناموفق امتیاز منفی در بر خواهد داشت.



درخواست رفع ابهام

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

 

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

نظرات  (۹۰)

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

  • میکاییل قربانی
  • آقا من چی کار کنم دکمه ی ارسال رو که میزنم غیرفعال میشه و دیگه میمونه تا آخر که یه نمره منفی میده مشکلم چیه

    salam 
    chetori az in filhaye vorudi estefade konim? lotfan vazehtar tozih bedin,bande az visual studio estefade mikonam baraye ersal chikar bayad bekonam???????????
  • حسام حداد
  • امکان ثبت نام شرکت کننده جدید در بیان و شرکت در مسابقه در طول 72 ساعت مسابقه وجود داره؟
    برای معرفی میپرسم.
    پاسخ:
    بله
    سلام
    کاشکی زمان پاسخ دادن که تو امتیاز دهی لحاظ میشه، از لحظه ای حساب میشد که کاربر متن سوال رو مشاهده میکنه، نه از زمان شروع مسابقه!
    چرا که ممکته کسی همون لحظه شروع مسابقه، کاری براش پیش بیاد یا نتش قطع بشه یا ...
  • محمد جواد پیشوایی
  • سلام .
    آهای ........
    کسی نیست ؟
    آهای ........ آهای .......
    نخیر ! کسی نیست جواب بده . 
    دوستان ، پیشنهاد میکنم از خودتون هر کسی میتونه جواب بده . 
    مثلا من جواب آقای میکاییل قربانی را میدم . ( احتمالا )
    میکاییل جان ، شما باید  هر دو فایل خروجی و سورس را مشخص کنی و بعد ارسال را بزنی . ضمنا 5 دقیقه‌ات هم تمام نشده باشد .

  • محسن شجاع
  • سلام و خسته نباشید
    با کمال تعجب سایت و مسابقاتتون بسیار معتبر تر از چیزی هستش که تصور می کردم.
    من هر سه سوال رو حل کردم اونم به راحتی و در زمان کمی
    اما جای تاسف هست که نحوهاستفاده از فایل .in رو در cmd هیچ جا توضیح ندادید
    ضمنا احتمالا بایدتابع اصلی برنامه هم به نحوی نوشته شه که بتونه این ورودی رو گرفته و مقادیری رو به عنوان خروجی ارسال کنه
    اما هیچ کجا در مورد چگونگی این کار توضیحی ندادید
    این مسابقات در حال حاظر تبدیل شده به مسابقه بین کسایی که کار با .in رو بلدن    همین
    اگه میخاید کیفیت مسابقاتتون بالاتر بره پیشنهاد میکنم یا کلا سایتتون رو جمع کنید که اسم و رسمی که دارید خدشه دار نشه یا درست حسابی سایت بزنید و توضیحات کامل بزارید.
    شخصا 1 هفته منتظر شروع مسابقات بودم اما از صبح تا حالا 5 ساعت فقط در تلاش واس ارسال بودم که جای تاسف داره
    آخرش هم شد انصراف از ادامه مسابقه
    موفق باشید و بدرود.
  • محمد جواد پیشوایی
  • آقا محسن ،
    هر سطر بجای اختتام با کد 13 و 10 با کد 10 ختم شده است !
    نمیدانم چرا
  • سعید رضایی
  • fek konam kollan c# ro midi mige ghalate.:D
  • محمد جواد حیدری الاشتی
  • سلام
    من سوالها 1 و 2 رو در مرحله وردی در کمتر از 5 دقیقه برنامشو نوشتم و accept شد اما در جدول رده بندی سوال 1 برای من 3:04:45 و سوال 2 3:15:04 ثبت شده. میشه لطفا بفرمایید نحوه زمان بندی چطوریه که در مرحله بعدی این مشکل برای پیش نیاد و بتونم رکورد بهتری ثبت کنم . با تشکر
  • میکاییل قربانی
  • اقا علی دمت گرم اما مشکل من چیز دیگه من میفرستم سرعتمم بد نیست اما آبلود نمیشه و میگه زمان تموم شده در حالی که من در همون دقیقه ی اول میفرستم
    سلام خسته نباشید،این مرحله از مسابقات از نظر فنی خوب بود و سوالات در سطح مبتدی قرار داشت اما من به شخصه یکبار به مشکل خوردم،زمانی که کد و خروجی را انتخاب کرده بودم پیام میداد که به خاطر مشکلات نمیشه ارسال کرد ولی مشکل دیگه ای نداشت.

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

    موفق باشید.
  • محمد جواد پیشوایی
  • خدمت دوستانی که میگن زمان از ابتدا محاسبه نشود بلکه از زمان مشاهده 
    سوال حساب شود ، عرض کنم که ممکن است دو نفر در یک مکان ، یکی وارد مسابقه شود و دومی نشود . در عین حال نفر دوم میتواند سوالات را روی رایانه دوستش! ببیند .
  • محمد جواد پیشوایی
  • میکاییل جان اسم من محمد جواد و آواتارم علی است . 
    در مورد اشکال شما ، اگر در ساعات اولیه مسابقه بوده ، احتمالا میتوانسته از مشغول بودن بیش از حد سرور بوده باشد . اگر همچنان مشکل در آپلود دارید از یک بروسر دیگر استفاده کنید . من از کروم استفاده کردم و مشکلی نداشتم .
  • محمد جواد پیشوایی
  • خدمت آقا سعید رضایی عرض کنم من هر سه پاسخم با سی شارپ بود و قبول شد . 
  • محمد جواد پیشوایی
  • خدمت آقا محمد جواد حیدری عرض کنم آن زمانی که ذکر کرده‌اید ، زمانی است که از شروع مسابقه گذشته و پاسخ شما  داوری شده است .
    پاسخ:
    آقای پیشوایی عزیز و سایر دوستانی که جواب سوالات کاربران را می دهید،
    از شما متشکریم و امیدواریم این فرهنگ کمک به دیگران در میان سایر کاربران ایرانی نیز توسعه پیدا کند.
  • سجاد حیاتلو
  • چرا فایل ورودی مسئله سوم اینقدره حجیمه؟

    بیشتر از یک مگابایته!

    من تا بخوام بخونم یه ربع طول می کشه!
  • علی بهروزی
  • این مشکلی رو ایجاد نمیکنه سجاد جان
    باید برنامه شما طوری باشه که حداقل تو 4 دقیقه بخونه
    من که تونستم 5 ثانیه بعد خروجیم رو بگیرم
  • سجاد حیاتلو
  • علی عزیز

    من همیشه فایل in ورودی رو به txt تبدیل می کنم و میخونم

    این میتونه دلیل تاخیر خیلی زیاد من باشه؟

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

    واقعا که!
  • محمد جواد پیشوایی
  • آقای سجاد حیاتلو ، مسابقه که تمام شد ، میگم کجاش راهنمایی بود .
    اونوقت واقعا نه که!
  • مبین وحدتی ترکها
  • سلام محمد جواد جان شما حتما من رو دیدی تو مسابقات سوالات ساده گلچین یک رتبه بالاتر هستم و زبان مرود علاقه ام هم سی شارپ میباشد خوشبخت شدم
    راستی شما سوال زپجا را با SQL حل کردید ؟
    در پاسخ به سجاد جان لطفا به قسمت نمونه سوالات همین بلاگ سر بزنید حتما جواب خود را میگیرید :


  • مبینا طالبی
  • فایلی که برای دانلود و چک برنامم هست رو نمیتونم باز کنم.چه برنامه ای باید داشته باشم؟
  • محمد جواد حیدری الاشتی
  • سلام مجدد
    کسی میدونه رتبه بندی ها بر چه اساسیه ؟
    کسی که در دقایق اولیه مسابقه مسائل رو حل کنه نسب به کسی که اوسط یا اواخر مسابقه مسائل رو حل کنه رتبه بالا تری داره ؟
    چرا من که رتبم 240 بود الان شده 150 و نفرات اول کلا عوض شدن و چند نفر اول که صبح دیدم الان نیستن ؟
    پاسخ:
    رتبه بندی در مرحله ورودی اصلا مهم و قابل استناد نیست چون:
    1. زمان مسابقه عملا محدود نیست
    2. حل تنها یک سوال برای ورود به مرحله بعد کافی است و بسیاری از برنامه نویسان به حل همان یک سوال بسنده کرده اند.
  • محمد جواد پیشوایی
  • آقای مبین وحدتی 
    سلام بر شما که به زیردستان نگاهی میکنی !
    من هم خوشبخت شدم .
    درست حدس زدید . با کمک از کتابخانه SQLite حلش کردم .
    یا علی
  • محمد جواد پیشوایی
  • دوستان ، در قسمت رفع ابهام سوالات متعددی راجع به رتبه بندی پرسیدم .
    جواب بیان را عینا نقل میکنم :
    فرمول محاسبه امتیاز در انتهای این صفحه آمده است: http://codeforces.com/blog/entry/13542 به عنوان مثال تعداد جواب های ارسالی برای یک مساله در امتیاز تاثیر دارد لذا هرچه بیشتر جواب ارسال شود از امتیاز همه افرادی که به آن سوال جواب داده اند کم می شود. رتبه در این مرحله امتیاز ندارد "

  • محمد جواد پیشوایی
  • یک جواب دیگر بیان :
    "سلام در این مرحله برای راهیابی به مرحله بعد کافی است به یک سوال پاسخ دهید. فورمول رده بنده از پارامترهای مختلفی چون زمان ارسال، تعداد ارسال، تعداد افرادی که پاسخ صحیح داده اند و ... تشکیل شده است. فورمول اصلی مسابقه در انتهای صفحه زیر آمده است: http://codeforces.com/blog/entry/13542"
    سلام
    سطح سوالاتتون خوب بودن ولی من به شخصی کار با این فایل های ورودی و خروجی رو بلد نبودم
    من همون ساعت اول جواب هر سه سوال رو تونستم بدم ولی چند بار اول که اصلا متوجه نمیشدم این فایل ورودی که با کلیک من ذخیره میشه چیه؟؟؟


    کاش یکم توضیحات روشن تر و واضح تری در این موارد میدادید
    پاسخ:
    تگران امتیاز و رتیه این مرحله نباشید.
    امتیاز و رتبه این مرحله از مسابقه اهمیتی ندارد و هدف آن اطمینان از آشنایی شما با نحوه شرکت در مسابقات است که محقق شده است.
  • فردین پرویزپور
  • دقیقا منم مشکل نجمه آذر رو دارم
  • مبینا طالبی
  • منم با مشکل نجمه آذر روبه رو شدم.لطفا راهنمایی کنید 
    سطح سوالات خیلی ساده هست تنها مشکل همینه
    من با محیط ویژوال با زبان C# می نویسم فایل exe داخل فایل bin\Debug رو کپی میکنم و کد برنامه رو Program.cs داخل فایل اصلی آپلود کردم اما قبول نمیکنه.باید چیکار کنم.خواهشا زود جواب بدین
    از بچه هایی که #C نوشتن و دانلود کردن خواهشن نحوه چگونه ارسال فایل خروجی و کد برنامه رو توضیح بدن
    سلام یه سوال قبل از این مرحله قرار نبود مرحله ی دیگه ای باشه؟؟!!

    13 مهر فکر کنم؟؟!! چرا برگزار نشد؟؟

    الان به چند نفر تیشرت مسابقه داده میشه؟؟ 5 نفر اول؟؟ بعد این 5 نفر از نظر لیست است یا نمره ؟؟ چون الان دیدم نفرات اول زیاد بود!!
  • سید احسان سید علی اکبر
  • ازونجایی که خیلی ها من جمله خودم(تا قبل از شروع مسابقه) با نحوه گرفتن خروجی آشنایی ندارن میخوام یه توضیحی دربارش بدم
    فایل exe کامپایل شده و فایل ورودی رو در یک پوشه قرار بدید و از اون پوشه cmd رو باز کنید (shift+right click) بعد هم از دستور پایین استفاده کنید
    (اینجا بد میوفته برا همین لینک میزارم)
    http://textuploader.com/ooim
    آقای
  • masoud rafiee
  • منم مثل شما با سی شارپ فرستادم


    با اجازه مسئولین میخوام یه توضیح کوچیک بدم برا افرادی که اطلاع ندارن از چگونگی فایل ورودی و خروجی گرفتن:


    دوست خوبم ابتدا این لینک و یکی از مثال های سی شارپ این لینک رو نیگاه کن http://goo.gl/j96ixP

    ببین چجوری با فایل ها کار کرده!

    حالا شما که برنامه اتون رو نوشتید باید تنظیم کنید که ورودیتون از فایل خونده بشه و خروجیتون هم در یک فایل ذخیره بشه


    حالا اون فایلی که به عنوان ورودیه کدومه؟؟ همون فایلیه که موقعی که کلیک میکنید با پسوند  in روی سیستمتون ذخیره میکنید.

    اونو باید کپی کنید تو پوشه bin پروژه اتون

    بعد تو برنامه ادرس فایل رو تغییر بدید به همین مثلا  40.in  اوکی؟؟؟

    و فایل خروجی رو هم بزارید مثلا  out.40


    حالا برنامه رو که یک بار اجرا کنید .... جواب مورد نظر بیان در فایل out  شما ذخیره خواهد شد.


    توجه کنید: تمام این عملیات باید در مدت 5 دقیقه انجام بگیره


    حالا باید فایل out   و پراگرم دات سی اس رو برای بیان بفرستید


    فایل رو پیدا نمیکنه
    کدوم فایل؟؟؟
  • محمد جواد پیشوایی
  • نجمه آذر نوشته : ....بعد تو برنامه ادرس فایل رو تغییر بدید به همین مثلا  40.in  اوکی؟؟؟ ....
    راه سریعتر اینه که دست به برنامه نزنید و فایل رو renameکنید
    فایل با پسوند in ندارهslnاینه
    ببین تو برنامه نویسی چیو انتخاب کردی؟؟؟؟
    از همون اول سی شارپ رو انتخاب کرده بودی؟

    ببین یه فایلی با اسم یه عدد و پسوند in  رو باید ذخیره کنی و اونو بندازی تو پوشه بین
    و بعد آدرس فایلی رو که میخوای بخونی این شکلی تغیر بدی:

      static StreamReader streamReader = new StreamReader("..//..//problem.in");
            static StreamWriter streamWriter = new StreamWriter("..//..//problem.out");
    باید تبدیل بشه به (مثلا 40.in)

      static StreamReader streamReader = new StreamReader("40.in");
            static StreamWriter streamWriter = new StreamWriter("40.out");
    اگر برنامه ات درست باشه با یه بار ران کردنش فایل out رو که باید برا بیان فرستی تولید میکنه برات...تو همون پوشه بین برات تولید میکنه
    و اون رو به همراه پراگرم سی اس برا بیان میفرستی




    یه چیز عجیب!!!

    من سوالا رو حل کرده بودم و خواستم با راههای دیگه امتحان کنم و اینکارو کردم و الان رتبه ام یه عالمه اومد پایین!!! چرا آخه؟؟؟

    به نظر من مشکل این دفعه را میشه به زمان گرفت،یک اینکه بهتر بود زمان مسابقه از ورود شخص به محیط حساب بشه نه از شروع مسابقه و دوم اینکه الان که من اینکار را انجام دادم بهتر بود که به زمان اجرای کد من امتیاز میداد نه اینکه چون اولی را 5 ساعت بعد مسابقه ارسال کرده بودم 38 بگیره و الان که 15 ساعت گذشته 35!!!

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

    با تشکر.
  • محمد مهدی ولی نژاد
  • حسن جعفری
  • اتفاقا من هم در همین فکر بودم که کاش زمان را از ساعت 9و30 محاسبه نمیکردند از ساعت باز کردن سوال یا حداقل ورود کاربر محاسبه میکردند
    ولی بعد به این نتیجه رسیدم که در ان موقع بی عدالتی و نامردی بعضی عزیزان شرکت کننده نتایج را بهم میزد
    عده ای با دو نام کاربری ثبت نام میکردند بعد با یکی وارد میشد سوال رو میخوند بهترین جواب را پیدا میکرد و مینوشت بعد با نام کاربری دومش وارد میشد ورودی میگرفت و در کمترین زمان ممکن خروجی را ارسال میکرد و اول هم میشد
  • حسن جعفری
  • اقای
  • محمد مهدی ولی نژاد
  • برای دادن ورودی به برنامه و گرفتن خروجی
    کار با فایل

    اگر شما  در محیط shell  یا command prompt یا cygwin برنامه خود را اجرا کنید کار با فایل خیلی ساده است. شما فقط کافیست برنامه خود را با ورودی و خروجی استاندارد بنویسید و پس از کامپایل برنامه خود فایل اجرایی آن را به صورت زیر اجرا کنید.

    به عنوان مثال فرض کنید کد برنامه شما فایل p1.c باشد و فایل کامپایل شده آن p1.exe باشد. حال اگر شما بخواهید برنامه شما از فایل  p1.in به عنوان ورودی بخواند کافیست دستور زیر را در command بزنید:

    p1.exe < p1.in

    حالا اگر بخواهید برنامه شما از فایل ورودی p1.in بخواند و خروجی خود را در فایل p1.out بریزد دستور زیر را بزنید

    p1.exe < p1.in > p1.out

    کار در محیط Visual Studio

    کسانی که در محیطهایی شبیه به Visual Studio هم کار می کنند، می توانند به شیوه ای که گفته شده فایل اجرایی برنامه خود را در محیط shell یا command prompt اجرا کنند و فایل ورودی و خروجی را به آن می دهید.

    ولی اگر حتما می خواهید از محیط Visual Studio خارج نشوید به صورت زیر کار کنید:‌

    ۱- فایل ورودی را در کنار فایل برنامه خود قرار دهید. یا در محیط Visual Studio در کنار فایل یک فایل ایجاد کنید و محتویات فایل ورودی را در آن بریزید.

    ۲- با روش گفته شده در مثالهای زیر به طور صریح از فایل خوانده یا در فایل بنویسند.

    در زیر مثالهای خواندن و نوشتن در فایل در زبان های سی و  جاوا و پایتون قرار داده شده است:

    خواندن و نوشتن صریح در فایل :‌ سی پلاس پلاس، جاوا پایتون

     

    کار با VB6

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

    همچنین توجه داشته باشید برای خواندن سطر به سطر فایلهای متنی، دستورات استاندارد VB6 دو حالت‫ (Cr (\r و (CrLf (\r\n ‬را به عنوان انتهای سطر (end-of-line) قبول می کنند اما در تمام فایل های ورودی مسابقه، (Lf (\n مشخص کننده انتهای سطر می باشد. به همین دلیل شما با دستور Line Input نمی توانید سطر به سطر فایلهای ورودی مسابقه را بخوانید. برای رفع این موضوع یک procedure ساده با VB6 نوشته شده است که فایل ورودی را گرفته و آن به شکل مناسب ذخیره می کند. کافیست این procedure را در ابتدای برنامه خود قرار دهید و نام فایل ورودی را به آن ارسال کنید.


  • میکاییل قربانی
  • محمد جواد جان ببخشید که اسمت رو اشتباه گفته بودم دمت گرم درست شد اما حیف که امروز فرستادم و رتبم بایین اومد اما دمت گرم .
  • علی بهروزی
  • از دوستانی که در مرحله میانبر شرکت داشتن میخواهم بپرسم که مشکل شماره 2 ( آنتن ها ) در مرحله میانبر از چه طریق میشه حل کرد ؟
  • مبینا طالبی
  • دوستان کسی هست که با c++ نوشته باشه بیشتر راهنمایی کنه؟
    من راهنما رو خوندم وسعی کردم اجرا کنم ولی جواب نداد
    @مینا طالبی :

    میتونی از کد زیر استفاده کنی.
    #include <cstdio>
    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    int main(){
      ifstream fin("input.txt");
      ofstream fout("output.txt");
      int a,b;
      fin>>a>>b;
      fout<<a+b<<endl;
    }
    درواقع برای این نوع ورودی خروجی #include <fstream> را احتیاج داری.
    به جای cin از fin استفاده کن و به جای cout از fout

    اینطوری فایل ورودی input.txt است و وقتی اجرا را در کامپایلر میزنی فایل خروجی ایجاد میکنه با نام output.txt ،که میتونی وقتی ورودی بیان را دریافت کردی در input.txt بریزی و فایل خروجی که بیان میخواد output.txt است(البته پسونداش حتما نباید این باشه و میتونی از in و out هم استفاده کنی)

    ورودی بیان با فرمت in است که با یک ویرایشگر مثل notepad بازش کن.
  • علی بهروزی
  • خواهشا درباره Problem B در مرحله Shortcut یک راهنمایی کنید

    با تشکر
  • روح الله زکی
  • @علی بهروزی
    این سوال رو حل کردم و با ورودی های خود سوال تست کردم درست بود ولی الگوریتمش خیلی کنده و بخصوص برای مقادبر 10-12 رقمی فایل ورودی کلا سرریز کرد.
    با استفاده از یه تابع بازگشتی تمام احتمالات ممکن برای ترتیب آنتنها رو پیدا و هزینه هر کدوم رو حساب کردم. پیاده سازیش راحت بود ولی راندمانش وحشتناک پایین بخصوص با اون مقادیر، پشته احضار تابع دچار سرزیز میشه.

    بنظرم اینجور مسایل رو با الگوریتمهای خاص حل میکنند الان پشیمونم چرا کتاب CLRS رو بدقت نخوندم

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

    http://contest.bayan.ir/fa/contest/easy_pack_93/problem/F/serve/input/5595/
  • مهدی ربانی
  • وقتی وارد یه مسابقه می شیم دیگه نمی تونیم ازش خارج بشیم و به مسابقات دیگه بریم مگر اینکه دکمه ی بک مرورگر رو بزنیم یا یو آر ال رو دستی ویرایش کنیم. لطفا یک کلید بازگشت برای این کار تعبیه کنید که توی یک مسابقه زندانی نشیم!
    پاسخ:
    تعمدا چنین طراحی انجام شده است تا در حین مسابقه به اشتباه از آن خارج نشوید.
    کار با url برای برنامه نویسان قاعدتا چندان سخت نیست :)
  • فواد رستگار شریعت پناهی
  • من از #C استفاده میکنم و از این روش استفاده میکنم و خیلی راحته:

    1- فایل ورودی را در bin/debug را کپی کنید.
    2- در برنامه این خط را وارد کنید:
                FileStream fsout = new FileStream("12.out", FileMode.OpenOrCreate, FileAccess.Write);
                StreamWriter writer = new StreamWriter(fsout);

                FileStream fsin = new FileStream("12.in", FileMode.Open, FileAccess.Read);
                StreamReader reader = new StreamReader(fsin);

    این خطوط فایل ورودی و خروجی را مشخص میکند.

    3- برای خواندن فایل ورودی از این دستور استفاه کنید و با هر بار اجرای این دستور فایل خط به خط خوانده میشود و میتوانید هر خط خوانده شده را در یک متغیر ذخیره کنید و از آن استفاده کنید:
    reader.ReadLine()
    4- برای ذخیره ورودی کافیست متغیر خروجی خود را به این صورت به کار ببرید:
    writer.WriteLine(res);
                writer.Close();

    (بجای res متغیر خود را جایگزین کنید.)
  • سجاد حیاتلو
  • بچه ها نذارین خارجکیا اول تا سوم شن!
    Hi There
    I am using C# and c++ but i have some problems  sending outputs 
    in question number 3(charkheshhaye khareqolade) when sending answer  it gives me Not Accepted answer while i am sure about correctness of my answer 
    I have written another  program that compares  output  of my program  and one that Bayan gives me when comparing it gives me that this tow outputs are same as each other
    Not Confusing?!!!!! 
  • علی بهروزی
  • @روح الله زکی
    میشه بیشتر توضیح بدید ؟
    الگوریتمتون چطوری بوده ؟ آیا از فرمول خاصی استفاده کردید ؟
    امکان دادن بخشی از برنامه رو دارید تا به من راهنمایی بشه ؟

    برای زپچا باید از SQLite Library استفاده کنید
    آقا یکی بگه چه جوری باید  جوابو ارسال کنبم (c++)
    والا هرکاری تو راهنما بود کردم اما نشد که نشد
    تو رو خدا بگین فقط چن ساعت تا پایان مهلت نمونده
    جمع کنید بره این سایتتونو بابا
    فقط وقت ما رو تلف کردین....
    پاسخ:
    :)
    For User Alizade:
    Your program must have capability to read input form a file(e.g:a text file)
    and also writing output into a file(e.g: a text file)
    You see that U can not give it tens of thousand of lines input just by hand
    therefore U must Read From A File And
    Write Into A
     File 
    مرحله ی ورودی به اتمام رسید.می خواستم بدونم شرکت کردن در مرحله انتخابی الزامیست یا نه؟
  • علیرضا کشاورز
  • بله تا جایی که بنده اطلاع دارم به شدت الزامی است.
  • محمدصادق دهقان نیری
  • سلام
    با php هم میشه کد زد؟؟
    اگه میشه لطفا نحوه نوشتن و خوندن متغیر از وروری و ... رو توضیح بدید. ممنون
  • علی بهروزی
  • @محمدصادق دهقان نیری

    در مرحله اول از چه زبانی استفاده کردید ؟
  • محمدصادق دهقان نیری
  • من فکر میکردم پی اچ پی نمیشه با cpp کد میزدم ولی با php راحت ترم
  • رحمت اله رضایی
  • سلام
    من مشکلی داشتم که امکان شرکت در مرحله اول تا یک ساعت پیش برایم مقدور نبود. الان شرکت کردم و هر سه سوال رو جواب دادم. امکانش هست که به مرحله بعد راه پیدا کنم ...
  • علی بهروزی
  • فکر نکنم
    زمان مسابقه به پایان رسیده بوده
    اگر اینطوری بود که محدودیت زمانی قرار نمیدادند
    همچنین بعد از پایان مسابقه رتبه بندی دیگه تغییر نمیکنه
  • روح الله زکی
  • @علی بهروزی
    1- موضوع این مسئله ظاهرا باید جایگشت باشه من تمام یادداشتهایی که از کتاب CLRS داشتم رو مرور کردم کلی الگوریتم گراف ، مرتب سازی و جستجو اونجا بود الا در این مورد.
    لذا همین طوری کد زدم و به این حالت که از روش استاندارد و خاصی استفاده نکنیم فکر کنم Brute Force گفته میشه. مثلا بجای جستجوی باینری با زمان عالی لگاریتمی، تک تک اعضای آرایه رو برای یافتن کلید بررسی کنید روشی که جوابش قطعی  ولی راندمانش ... و فکر کنم تنها جاییکه استفاده از این روش منطقیه، نرم افزار های کشف(حدس) پسورد هستند.

    2- چند ماه پیش که اندروید یاد می گرفتم چند تا تمرین با SQLite داشتم(به زبان جاوا) ولی در این مسابقات با ++C شرکت کردم چون هم تسلطم بهش بیشتره و هم علاقه دارم و برای ++C هنوز با دیتابیس کار نکردم.
    گذشته از این الگوریتم تحلیل زبان زپجا رو در آوردم و با تست کیس های خودم درسته نمیدونم مشکل از کجاست اگه ممکنه خروجی همون فایل رو بزارید تا نقطه ضعف اصلی برنامم رو پیدا کنم. چون هدف من افزایش مهارت در کدنویسیه تا جواب دادن به سوالات بیان.
    من به هیچ وجه متوجه نشدم که چطور باید فایل خروجی رو ساخت؟
    اصلا منظورتون از فایل خروجی چیه؟
    نکنه ما باید تک تک اون صد مورد رو (در سوال اول) در برناممون وارد کنیم و خروجی رو در فایلی کپی کنیم؟ این کار که بیشتر از پنج دقیقه طول میکشه...!
    جناب زرچی،
    اصلاً امکان وارد کردن دستی وجود نداره چون در فایل ورودی از chr13 استفاده نشده. برنامه‌ی شما باید بتونه ورودی رو بخونه. نمونه‌ای که برای برنامه‌های نوشته شده در ویژوال استودیو در خود بلاگ بیان هست، بسیار کارآمد و راحته.
    راستی چرا در بیان اطلاعیه‌ای مبنی بر پایان مرحله‌ی Qualification منتشر نشده تاکنون؟ :)
  • علی بهروزی
  • چند نفر در کل به مرحله حضوری راه پیدا خواهند کرد ؟
    آیا افراد بخش دانش آموزی و آزاد جدا انتخاب خواهند شد ؟

    با تشکر
  • علی بهروزی
  • منتظر آمار هستیم ...
  • محمد جواد پیشوایی
  • من قول داده بودم به آقای سجاد حیاتلو : "مسابقه که تمام شد ، میگم کجاش راهنمایی بود ."
    آقا سجاد عزیز ، آنجا که آقای بهروزی گفته بود من 5 ثانیه خروجی گرفتم ، یعنی اینکه الگوریتم شما اشتباه است یا چیزی کم دارد ( مثل %4 ) نه اینکه فایل ورودی بزرگ است . بنظر من این خودش یک جور راهنمایی است . ok?
  • علی بهروزی
  • بگذریم آقای پیشوایی
    این مرحله ، یک مرحله آسان بود که با حل یک سوال به مرحله بعد راه پیدا میکنیم و رتبه اهمیتی نداره
  • مهدی ربانی
  • فکر کنم مسئولین مسابقه از فرط خستگی بعد از 72 ساعت دکمه ی پایان رو زده اند و همونجا پای سیستم خوابیده اند.
    پاسخ:
    دقیقا!
    مهم نیست از چند وقت قبل برنامه ریزی و شروع کنید، هرچه قدر هم که تلاش کنید شب های مسابقه نمی تونید بخوابید.
    رکورد بی خوابی این شبهامون 49 ساعت پیوسته بوده!
  • علی بهروزی
  • انشالله که اینطوری نباشه :)
    سلام 
    دوستانی که از php استفاده میکنن میتونن از کد اماده زیر استفاده کنید
    کافیه اسم فایل ورودی رو تو خط اول برنامه بهش بدین و بعد به صورت ارایه تحویل بگیرین و بعد خروجی ها رو داخل ارایه out بریزین 
    تا سیو بشه 
    _________________________________
    امیدوارم مفید باشه !!!

    به امید این که امسال یه ایرانی نفر اول مسابقه بشه
  • علی بهروزی
  • مهدی جان اگر مسئولین بفهمن احتمالا شما رو حذف خواهند کرد
    چون شما دارید کد آماده تحویل میدید
    این جا مسابقه برنامه نویسی هست دوست عزیز

  • علی بهروزی
  • @bayan

    بابا یک اطلاعیه چیزی بزنید ما حداقل بدونیم وضعیت چطوریه
    یکم توضیح بدید که از استان ها چند نفرن
    آیا بخش دانش آموزی رو جدا میگیرید مثلا میگید 5 تا دانش آموز و 15 تا آزاد
    یا قاطی میگیرید
    امیدوارم جدا باشه
    پاسخ:
    تفکیک آماری بعد از مرحله انتخابی انجام خواهد شد.
    علی جان این کد اماده است ؟ اون هایی که با c++ k نوشته شده کد اماده نیست ؟

    هدف مسابقه به نظر من جواب دادن به سوال مطرح شده در سایت باشه نه صرفا ورودی و خروجی گرفتن از برنامه --

    در ضمن من این کد رو برای این منشر کردم 
    چون دیدم برای زبان های دیگه مثال اماده هست ولی برای php چیزی نبود !!!
    یعنی php کارا مظلوم واقع شدن :|

    اگه مشکل داره این کار من بگین تا پاکش کنم

    من هدفم از این انتشار تنها رفع ابهام بوده !!!
  • علی بهروزی
  • امکان داره حل سوالات میابر رو بگذارید ( مشکل 2 و 3 ) ؟
    چون codeforces بعد از هر مسابقه معمولا یک tutorial رو میگذاره
    مثلا برای warm-up هم نذاشتید
    @bayan

    سلام
    مرحله انتخابی ساعت چنده ؟
    فقط نوشته 27 مهر ولی ساعت دقیق شورع رو ننوشته

    اخه چون مدت مسابقه 3 ساعت است این که زمان دقیق شروع رو هم بگین ضروریه دیگه :|

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

    در کل باعث افتخارمه که چنین مسابقه جهانی تو کشور من برگذار میشه

    خدا قوت بیانی ها ......
  • علی بهروزی
  • اطلاعیه کلی نوشته شده توی صفحه اصلی مسابقه ( اطلاعیه ها )
    علی اقا منظورتون رو نفهمیدم :دی
  • علی بهروزی
  • توی جایی که سوال ها هست سمت چپ اطلاعیه زده مهدی آقا
  • مجید کامپیوتری
  • agha salam ye soal daram man marhale vorodi mitonam sherkat konam mitonid ye post be gmail man bedid?
  • علی بهروزی
  • بیان ...
    منتظر برندگان تیشرت هستیم
  • کیارش سلوتی
  • قابل توجه دوستانی که با پایتون کار می کنند و مشکل فایل ورودی را دارند.
    برای این که توضیح رو راحت تر کنم برای سوال جمع مثال می زنم:
    یکی از مشکلاتی که احتمالاً خیلی ها دارند این است که چرا ورودی بخش اول را که تعداد جمع ها را می خواهد نداده است؛یا شاید خیلی ها هستند که فایل ورودی را متوجه نمی شوند.
    خب پس بگذارید توضیحی برای فایل ورودی بدهم.
    معمولاً در سوالاتی که ابتدا تعداد عمل را می زنیم در فایل ورودی طوری نوشته شده که یک فاصله بین تعداد عمل و بقیه اعداد باشد،فاصله
    در اینجا همان حکم Enter را دارد.سپس در ادامه هم اعداد بر اسا فاصله گذاشته شده است(دقت کنید که خط تیره همان علامت منفی است).
    این روند در سوالاتی که در چند خط ورودی گرفته می شود هم همینطور است.
    نظر دادن تنها برای اعضای بیان ممکن است.
    اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.