این مخزن شامل راهحلهای نهایی و حضوری مسابقات کدکاپ 8 است. هدف من از این مخزن، مستندسازی و به اشتراکگذاری راهحلهای خود برای این مسابقه هیجانانگیز است. امیدوارم این مخزن برای علاقهمندان به مسابقات برنامهنویسی و یادگیری الگوریتمهای جدید مفید باشد. 😊
صحفه مسابقه کدکاپ8 در سایت کوئرا
راهیافتگان به مرحله نهایی کدکاپ ۸
کدکاپ یکی از بزرگترین مسابقات برنامهنویسی ایران است که هر ساله برگزار میشود و برنامهنویسان زیادی از سراسر کشور در آن شرکت میکنند. این مسابقه شامل مراحل مقدماتی، نیمهنهایی، و نهایی است که هر مرحله چالشهای الگوریتمی و حل مسئله متنوعی را ارائه میدهد.
- مراحل:
- چندیدن مرحله آنلاین انتخابی
- مرحله حضوری یا نهایی
- فرمت: حل مسائل برنامهنویسی در زبانهای متداول مانند C++, Python و Java.
این مخزن شامل کدهای مربوط به مسائل نهایی و حضوری کدکاپ 8 است. هر مسئله در یک پوشه جداگانه قرار دارد و شامل موارد زیر است:
- شرح مسئله
- کدهای راهحل
- توضیحات و مستندات مربوط به الگوریتم
- شرح مسئله: بررسی رتبه کلی شرکتکننده یا شرایط استانی (رتبه اول استانی، حل دو سؤال، و حضور حداقل ۷ نفر در استان).
- ایده حل: کافی است رتبه کلی را چک کنیم که زیر ۴۰ باشد یا شرایط لازم برقرار باشد.
- شرح مسئله: بررسی تعداد جادههای افقی و عمودی.
- ایده حل:
- اگر تعداد جادههای افقی و عمودی برابر باشد → یک تأخیر داریم.
- اگر تعداد جادهها برابر نباشد → ماشینهای مسیر کوتاهتر یک تأخیر دارند.
- جواب: یا
n + 1
یاm
.
- شرح مسئله: اساتید را طوری بچینیم که خوشبختی حداکثر شود.
- ایده حل: جفتهای خوشحال را پیدا کرده و تعداد آنها را با مقدار ممکن مقایسه کنید.
- شرح مسئله: حداقل تعداد سکه لازم برای بمبگذاری را پیدا کنید.
- ایده حل: استفاده از الگوریتم DFS برای بررسی دو حالت:
- بمبگذاری شهر.
- سقوط مستقل.
- جواب: هزینه سقوط کل درخت.
- شرح مسئله: پیدا کردن بیتهای XOR و AND با دستهبندی اعداد.
- ایده حل: اگر بیتی در همه اعداد یکسان باشد، مقدار آن مشخص است. سپس با نتیجه AND دستهبندی را مقایسه کنید.
- شرح مسئله: پیدا کردن کوتاهترین مسیر با بیشترین لذت.
- ایده حل: استفاده از گراف و الگوریتم دیسترا (Dijkstra) با وزندهی مسیرها بر اساس میزان لذت.
- شرح مسئله: پیدا کردن اعداد کامل کوچکتر از
n
. - ایده حل: بررسی جمع مقسومعلیههای هر عدد. اگر برابر خود عدد بود، عدد یک سکه کامل است.
- شرح مسئله: محاسبه کمترین حرکتها برای رفتن به همه نقطهها.
- ایده حل: استفاده از الگوریتم BFS برای پیدا کردن سریعترین مسیر.
- این مخزن را کلون کنید:
git clone https://github.com/your-username/CodeCup-8-Final-Solutions.git
- وارد پوشه پروژه شوید:
cd CodeCup-8-Final-Solutions
- این پوشه شامل فایل کدها و مستندات است.
اگر ایده یا بهبودی برای این پروژه دارید، لطفاً مراحل زیر را دنبال کنید:
1. این ریپازیتوری را Fork کنید.
2. تغییرات خود را انجام دهید و Commit کنید.
3. درخواست Pull Request ارسال کنید.
مسابقه کدکاپ 8 شامل 6 مرحله انتخابی آنلاین بود که شرکتکنندگان از سراسر ایران در آن به رقابت پرداختند. در مرحله پنجم این رقابتها، توانستم به رتبه اول استان خراسان رضوی دست پیدا کنم. این موفقیت باعث شد بلیت شرکت در مسابقه نهایی حضوری کدکاپ 8 را که در دانشگاه علم و فرهنگ برگزار میشود، کسب کنم. این تجربه برای من فرصتی بزرگ برای محک زدن تواناییهایم در میان بهترین برنامهنویسان کشور است. 🌟
تشکر ویژه از تیم برگزارکننده کدکاپ 8 و تمامی شرکتکنندگان این رقابت جذاب. 🌟