چراغها (مرحله ی دوم دهمین المپیاد کامپیوتر ایران)

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#1
روی یک خط n چراغ با شماره های 1 تا n قرار دارند که تعدادی از آن ها خاموش و بقیه روشن هستند. دو نفر به نام های Aو B این بازی را با هم انجام می دهند. از ابتدا و در تمام مراحل بازی، چشم B بسته است و او وضعیت لامپ ها را نمی داند. در هر مرحله از بازی، B مجموعه ای از اعداد 1 تا n را انتخاب می کند و به A می گوید. A لامپ هایی که شماره ی آن ها در ان مجموعه است را تغییر وضعیت می دهد؛ یعنی اگر لامپ خاموش بود، آن را روشن و اگر روشن بود آن را خاموش می کند. مثلا اگر 3 لامپ داشته باشیم و لامپ های 1 و 3 خاموش باشند و لامپ 2 روشن باشد و B مجموعه ی {1,2} را انتخاب کند، در مرحله ی بعد لامپ 1 روشن و لامپ های 2 و 3 خاموش خواهند شد.
در هر مرحله ای که تمام لامپ ها خاموش شوند بازی به نفع B تمام می شود. مثلا اگر n=2 و B به ترتیب مجموعه های{1,2} و {1} و {1,2} را انتخاب کند، به هر ترتیب، B برنده ی بازی خواهد شد.
ثابت کنید برای هر n، B می تواند طوری بازی کند که ببرد. یعنی می تواند دنباله ای از زیرمجموعه های {1,2,…,n} را انتخاب کند که برای هر وضعیت اولیه ی دل خواه از چراغ ها در حین انجام عمل به جایی برسیم که همه ی چراغ ها خاموش باشند.
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#2
Goharshady گفت
روی یک خط n چراغ با شماره های 1 تا n قرار دارند که تعدادی از آن ها خاموش و بقیه روشن هستند. دو نفر به
منظورتون بيشتر از يك هست ديگه ،نه؟؟؟
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#3
با استقرا روي n حل ميشه ديگه...
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#4
Olympiad گفت
Goharshady گفت
روی یک خط n چراغ با شماره های 1 تا n قرار دارند که تعدادی از آن ها خاموش و بقیه روشن هستند. دو نفر به
منظورتون بيشتر از يك هست ديگه ،نه؟؟؟
نه! هیچ دلیلی نداره. ممکن تعدادی = 0 باشد.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#5
البته میشه با همیلتنی بودن گراف
هم حلش کرد.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#7
نه!
اگه هر دو لامپ خاموش باشند که در ابتدا B برده است.
اگر هر دو لامپ روشن باشند وقتی B مجموعه ی {1,2} را انتخاب می کند ، می برد و بازی ادامه نمی یابد
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
#8
سوتي خيلي بدي بود حواسم نبود... من كل اون چيزي كه نوشته بوديد رو در نظر گرفتم...
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
#10
Goharshady گفت
روی یک خط n چراغ با شماره های 1 تا n قرار دارند که تعدادی از آن ها خاموش و بقیه روشن هستند. دو نفر به نام های Aو B این بازی را با هم انجام می دهند. از ابتدا و در تمام مراحل بازی، چشم B بسته است و او وضعیت لامپ ها را نمی داند. در هر مرحله از بازی، B مجموعه ای از اعداد 1 تا n را انتخاب می کند و به A می گوید. A لامپ هایی که شماره ی آن ها در ان مجموعه است را تغییر وضعیت می دهد؛ یعنی اگر لامپ خاموش بود، آن را روشن و اگر روشن بود آن را خاموش می کند. مثلا اگر 3 لامپ داشته باشیم و لامپ های 1 و 3 خاموش باشند و لامپ 2 روشن باشد و B مجموعه ی {1,2} را انتخاب کند، در مرحله ی بعد لامپ 1 روشن و لامپ های 2 و 3 خاموش خواهند شد.
در هر مرحله ای که تمام لامپ ها خاموش شوند بازی به نفع B تمام می شود. مثلا اگر n=2 و B به ترتیب مجموعه های{1,2} و {1} و {1,2} را انتخاب کند، به هر ترتیب، B برنده ی بازی خواهد شد.
ثابت کنید برای هر n، B می تواند طوری بازی کند که ببرد. یعنی می تواند دنباله ای از زیرمجموعه های {1,2,…,n} را انتخاب کند که برای هر وضعیت اولیه ی دل خواه از چراغ ها در حین انجام عمل به جایی برسیم که همه ی چراغ ها خاموش باشند.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#11
مشکلش چیه؟
برای هر n , B می تواند طوری بازی کند که ببرد
 

mahanmath

New Member
ارسال ها
898
لایک ها
701
امتیاز
0
#12
کاملا کیلویی عمل میکنیم !!!


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

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
#13
از کیلویی گذشته ، اینی که شما نوشتید تنی بود!!
لطفا الگوریتم بهتری ارائه کنید.
جالبه که من حتی از گراف Q[SUB]n[/SUB] هم نام بردم ولی ...
 

Maahii

New Member
ارسال ها
4
لایک ها
0
امتیاز
0
#14
پاسخ : چراغها (مرحله ی دوم دهمین المپیاد کامپیوتر ایران)

سلام

سطح سواد من خیلی پایینه

انقدر که چیزی از گراف و استقرا و ... نمی دونم

اما در حد داشته های علمی خود به جواب زیر رسیدم :

1 + ( Cn1 * Cn2* Cn3 *… * Cnn/2)*4n/2[FONT=&quot] [/FONT][FONT=&quot][/FONT]

یک حالت این که همه ی چراغ ها روشن باشن (+1)

بعد ممکن است فقط یکی از چراغ ها روشن باشد

پس زیر مجموعه ی یک عضوی را از n تا به صورت ترکیب انتخاب می کنیم

چون ما در حال برسی حالات اولیه (قبل از این که ما هیج تغیری در ساختار چراغ ها ایجاد کنیم )هستیم

پس اگر ما مثلا یک با {1} را انتخاب می کنیم و برنده نمی شویم دوباره آن را انتخاب می کنیم که ساختار اولیه به هم نریزد

از طرفی ممکن است فقط یکی از چراغ ها خاموش باشد

پس قبل از این که حدس قبلی را تکرار کنیم یک بار تمام مجموعه را انتخاب می کنیم

اگر باز هم حدس درستی نزده باشیم

دوباره تمام مجموعه را انتخاب می کنیم

و بعد این کار را برای تمام زیر مجموعه های n-1 عضوی انجام می دهیم

از آن جایی که یک بار تمام مجموعه را انتخاب کردیم

احتیاج نیست از زیر مجموعه ی یک عضوی تا n-1 عضوی را انتخاب کنیم

کافی است تا n/2 عضوی را امتحان کنیم (اگر n فرد بود سقف n/2 را در نظر می گیریم)

برای چیزی که به ذهنم رسیده مثال می زنم :

مثلا برای زیر مجموعه ی یک عضوی {1}

1 : {1}

2 : {1و2و3و ... و n }

3 :

{1و2و3و ... و n }

4 :

{1}

و اگر به نتیجه نرسیدیم سراغ دو می رویم و الی آخر ...



هه

فکر کنم این همون روش تُنی بود که بهش اشاره کردید ...

اگر چیزی رو نشمردم یا زیاد شمردم بهم بگید

ممنون
 
بالا