اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!

ورود ثبت‌نام راهنما درباره‌ی کاهو
پرسش‌ها برچسب‌ها کاربر‌ها سوال بپرسید!

آمار پرسش:

  • پرسیده شده: 2015-04-05 09:37:32 -0500
  • مشاهده شده: 556 بار
  • بروز شده: 2015-06-23 20:49:42 -0500

پرسش‌های مشابه:

آیا گراف قویا همبند است؟

پیدا کردن مولفه های قویا همبند گراف جهت دار

یافتن کوتاه ترین دور در گراف ساده

کد برای بررسی یک ریختی 2 گراف

جزوه ی برنامه نویسی قسمت (گراف)

پيدا كردن دومين كوتاهترين مسير بين دو راس گراف با توجه به الگوريتم ديكسترا

شبکه $n\times n$ پایدار

پیدا کردن گراف دوبخشی کامل یکرنگ

حداکثر تعداد یال‌های گراف بدون مثلث

یافتن کوچکترین پیچ و مهره با مقایسه آنها

نکاتی در مورد نوشتن پاسخ:

در این قسمت می‌تونی به یک پرسش پاسخ بدی. اگه می‌خوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخ‌ها مفید هستند حتما بهشون رای بده تا پرسش‌ها و پاسخ‌های خوب مشخص بشن.

استفاده از ویرایشگر:

توی قسمت پیش‌نمایش می‌تونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
می‌تونی از تگ‌های معمولی و ساده‌ی html هم استفاده کنی.
با دکمه‌هایی که بالای ویرایش‌گر قرار دارند کلی کار می‌شه کرد. از عکس‌گذاشتن بگیر تا لیست شماره‌دار. حتما امتحان‌شون کن.

علائم ریاضی:

برای نوشتن علائم ریاضی می‌تونی از Mathjax استفاده کنی. راهنمای Mathjax رو از سایت math.stackexchange بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.

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

9

100 نفر توی یک اتاق هستن. روی سر هر کس یه کلاه هست که روی اون یک عدد بین 1 تا 100 نوشته شده. هیچکس کلاه خودش رو نمی بینه، ولی شماره ی همه ی کلاه های دیگه رو می بینه. هر کس هم یه برگه داره که باید یه شماره بین 1 تا 100 روش بنویسه. هدف اینه که الگوریتمی داده بشه که به ازای همه ی حالت های شماره های کلاه ها، حداقل 1 نفر تو اون جمع، شماره ی کلاه خودش رو بنویسه. به نکات زیر توجه کنید:
1- طبیعتا این افراد می تونن قبل از رفتن به اتاق و گذاشته شدن کلاه ها روی سرشون با هم هماهنگ کنن و به یه الگوریتم عمل کنن!
2- افراد با هم هیچ ارتباطی ندارن، یعنی نمی تونن با هم حرف بزنن یا علامت بدن، همین طور هیچکس نمی تونه ببینه که بقیه چی می نویسن یا کی شروع به نوشتن می کنن. تنها اطلاعی که از هم دارن، شماره کلاه های همدیگه هستش.
حالا شما یه الگوریتم بدید که حداقل یه نفر شماره کلاه خودشو بنویسه!

الگوریتم گراف
2015-04-05 09:37:32 -0500
علی نوروزی 151 ● 2 ● 4 ● 7
پاک‌کردن   ویرایش سوال
نظرات

آیا میشه یک عدد تکرار شده باشه؟ یعنی دو نفر کلاهی با شماره 50 داشته باشند؟؟

2015-04-05 10:47:23 -0500 اسپاک

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

2015-04-05 10:51:39 -0500 حمیدرضاه

بله میشه تکراری هم باشه

2015-04-05 20:51:21 -0500 علی نوروزی

سلام میدونستید انجمن علمی نخبگان دانشگاه صنعتی شریف مسابقه تخصصی مهارت سنجی برنامه نویسی و داده کاوی گذاشته است آدرس سایتش www.fanavard.com

2015-08-06 06:45:08 -0500 امیر شکری

سلام میگم یک سر به سایت www.fanavard.ir بزنید. مسابقات برنامه نویسی شون شروع شده. گواهی رسمی از طرف دانشگاه شریف می ده. 50 تا سکه هم جایزشه

2016-10-26 10:28:25 -0500 امیر شکری

2 پاسخ

7

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

2015-04-06 14:10:10 -0500
متین 330 ● 4 ● 9 ● 20
پاک‌کردن   ویرایش پاسخ
نظرات

خیلی قشنگ بود

2015-04-07 06:10:59 -0500 حمیدرضاه

لطفا بیشتر توضیح بدید!

2015-04-07 11:07:33 -0500 پویان

کجاشو نمیفهمی :|| نفر i فرض میکنه که جمع همه کلاه ها باقیماندش به 100 میشه i و با توجه به اون جواب میده

2015-04-07 11:28:05 -0500 حمیدرضاه

درسته! ;) یه راه گراف هم داره، اگه کسی تونست بگه، اگر هم نه خودم بعد چند روز می گم.

2015-04-08 09:52:31 -0500 علی نوروزی
4

اینم راه گراف برای سوال:
ما یه گراف دو بخشی به صورت زیر درست می کنیم: بالا ${100}^{100}$ راس که در 100 دسته ی ${100}^{99}$ تایی دسته بندی شدن، که راس های دسته ی i (در پایه 0)، نمایانگر حالت هایی هستن که راس با اندیس i می تونه از بقیه ببینه. به جای عدد روی کلاه شخص iام هم X قرار می دیم (مثل شکل). در پایین هم ${100}^{100}$ راس وجود داره که هر راس نمایانگر یه حالت از چینش کلاه هاست. گراف 2 بخشی کلاه ها هر راس از بالا، به همه ی حالت هایی که ممکنه تو چینش اصلی باشه وصل شده، یعنی همه ی 100 حالتی که X می تونه داشته باشه (1..100). پس درجه ی همه ی راس های بالا 100 هستش. هر راس از پایین هم به 100 راس از بالا وصل شده (همه ی جا های ممکن X در اون چینش). می خوایم اثبات کنیم شرط هال تو این گراف برقراره.
فرض کنیم نباشه، یعنی یه مجموعه ای از راس ها بالا هستن (S) که مجموعه ی همسایه هاشون (N) از خودشون کوچیکتره ($|S| > |N|$). می دونیم از S، تعداد 100S تا یال خارج شده و $|S| > |N|$، پس طبق لانه کبوتری یه راس تو N هست که بیشتر از 100 یال بهش وصل شده که می دونیم این طور نیست. پس شرط هال بر قراره و در نتیجه میشه یه مچینگ تام (Perfect Matching) پیدا کرد. حالا هر کس، از دسته اش تو قسمت بالا اون راسی که مطابق دیدش هست رو پیدا کنه و ببینه یال مچینگش کجا رفته. فرض کنه که شماره کلاه ها همونه و با توجه به اون حالت، شماره کلاهشو بنویسه. اثبات درست بودن:
راس چینش اصلی کلاه ها در قسمت پایین رو در نظر بگیرید. چون مچینگ تام هستش، یکی از 100 یال متصل به این راس توی مچینگ اومده و به یکی از راس های بالا وصل شده. اگر این یال به دسته ی i ام رفته باشه، نفر i ام درست می نویسه، چون که اون چیزی که می بینه همونیه که به یه سر یال وصله و در نتیجه می ره می بینه اون سر یال چه چینشی داره و با توجه به اون شمارشو می نویسه و چون اون سر یال چینش واقعیه، درست می نویسه. image description
سوالی بود، در خدمتم!

2015-04-14 12:52:33 -0500
علی نوروزی 151 ● 2 ● 4 ● 7
پاک‌کردن   ویرایش پاسخ

پاسخ شما

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

پیش‌نمایش:

کلیه‌ی حقوق این سایت متعلق به کمیته‌ی ملی المپیاد کامپیوتر است.