AP_HW1.pdf

‫الزحويالزحین ‌‬
‫‌‬
‫ثسن ‌‬
‫اهلل‬
‫‌‬
‫‌‬
‫ثزًبهِسبسی‌پیطزفتِ ‌‬
‫‌‬
‫‪Advanced Programming‬‬
‫داًطکذُ‌هٌْذسی‌کبهپیَتز‬
‫هذرس‪‌:‬آرش‌تَکل‬
‫‌‬
‫‌‬
‫توزیي‌ضوبرُ‌‪‌ 1‬‬
‫تبریخ‌تحَیل‪‌11‌:‬هْز‬
‫قجل‌اس‌اًجبم‌توبریي‌هَارد‌سیز‌را‌ثِ‌دقت‌هطبلؼِ‌کٌیذ‪:‬‬
‫ضوبرُی‌داًطجَیی‌خَد‌را‌ثِ‌صَرت‌سیز‌ثٌَیسیذ‪:‬‬
‫‌‬
‫ثزًبهِّب‌‬
‫‪ ‬در‌خط‌اٍّل‌ّز‌یک‌اس‌ ‌‬
‫‪//‌ID: your Student ID‬‬
‫ثزًبهِّب‌فبیل‌هزثَطِ‌را‌در‌یک‌پَضِ‌ثب‌ًبم‌‪‌assignment#1_stdID‬قزار‌دّیذ‌(کِ‌‬
‫ّوِی‌ ‌‬
‫‪ ‬ثؼذ‌اس‌ًَضتي‌ ‌‬
‫هیثبضذ)‌ٍ ‌سپس ‌ایي ‌پَضِ ‌را ‌فطزدُ ‌کٌیذ‪‌.‬فبیل ‌فطزدُ ‌ضذُ ‌را ‌ثِ‌‬
‫ضوبرُی ‌داًطجَیی ‌ضوب ‌ ‌‬
‫‌‬
‫در ‌آى ‌‪‌ stdID‬‬
‫آدرس‌‪ ap.2012.fall@gmail.com‬ارسبل‌ًوبییذ‪.‬‬
‫‪ ‬ػٌَاى ‌ایویل ‌ثبیذ ‌ثِ ‌صَرت ‌‪‌ assignment#1_stdID‬ثبضذ‪‌ ،‬کِ ‌در ‌آى ‌‪‌ stdID‬ضوبرُ ‌داًطجَیی ‌ضوب‌‬
‫است‪.‬‬
‫ثزًبهِّب ‌ٍ ‌فبیل ‌فطزدُ ‌ضذُ ‌ٍ ‌یب ‌ػٌَاى ‌ایویل ‌فزستبدُ ‌ضذُ‪‌ ،‬هَجت ‌ػذم ‌تصحیح‌‬
‫ًبمگذاری ‌فبیل ‌ ‌‬
‫‪ ‬اضتجبُ ‌در ‌ ‌‬
‫هیضَد‪.‬‬
‫توزیي‌ضوب‌ ‌‬
‫ثزًبهِّبی‌ضوب‌ثبیذ‌دقیقبً‌ثِ‌صَرت‌گفتِ‌ضذُ‌در‌هسئلِ‌ثبضذ‪.‬‬
‫ًحَُی‌ٍرٍدی‌گزفتي‌ٍ‌خزٍجی‌دادى‌ ‌‬
‫‌‬
‫‪‬‬
‫تستّبی‌ًوًَِ‌‌‬
‫هیضَد‌کِ‌حتوبً‌یک‌ثبر‌ ‌‬
‫ثزًبهِّبی‌ضوب‌تؼذادی‌تست‌دادُ‌خَاّذ‌ضذ‪‌.‬تَصیِ‌ ‌‬
‫‪ ‬ثِ‌ّز‌یک‌اس‌ ‌‬
‫ثزًبهِّبیتبى‌ثذّیذ‪.‬‬
‫را‌ثِ‌ ‌‬
‫ًبمگذاری ‌هٌبست ‌هتغیزّب ‌را ‌فزاهَش ‌ًکٌیذ‪‌ .‬ثِ‌‬
‫ثزًبهِّبیتبى ‌ٍ ‌ ‌‬
‫قسوتّبی ‌هختلف ‌ ‌‬
‫‌‬
‫‪ ‬گذاضتي ‌کبهٌت ‌ثزای ‌‬
‫ًوزُای‌اس‌ّز‌سؤال‌است‪.‬‬
‫کبهٌتگذاری‌جشٍ‌ ‌‬
‫‌‬
‫ثزًبهِتبى‪‌.‬‬
‫خصَظ‌تَاثغ‌ٍ‌هتغییزّبی‌اصلی‌ ‌‬
‫ًوزُی‌ایي‌توزیي‌کبستِ‌خَاّذ‌ضذ‪.‬‬
‫ثزًبهِّب‪‌%20‌،‬اس‌ ‌‬
‫‪ ‬ثِ‌اسای‌ّز‌رٍس‌تأخیز‌در‌ارسبل‌ ‌‬
‫ًوزُی‌هٌفی‌تؼلق‌خَاّذ‌گزفت‪.‬‬
‫ًوزُی‌سؤال‪‌ ‌،‬‬
‫ثزًبهِّبی‌هطبثِ‌ثِ‌هیشاى‌ ‌‬
‫‪ ‬ثِ‌ ‌‬
‫هسئلِی‌‬
‫‌‬
‫ضوبرُی ‌‬
‫‌‬
‫‪ّ ‬زگًَِ ‌سؤال ‌در ‌هَرد ‌توزیٌبت ‌را ‌ثب ‌ػٌَاى ‌]‪‌ assignment#1_question[x‬کِ ‌]‪‌ [x‬‬
‫هَرد‌ًظز‌است‪‌،‬ثِ‌آدرس‌‪‌apgroup-2012-fall@googlegroups.com‬ارسبل‌کٌیذ‪‌ .‬‬
‫سؤال‌‪‌ .1‬‬
‫ّز ‌هجوَػِ ‌‪n‬تبیی ‌اس ‌اػذاد ‌صحیح ‌‬
‫)‬
‫(‬
‫‌ػذد ‌کِ ‌حبصل‌جوغ ‌ّز ‌دٍ ‌ػضَ ‌دلخَاُ ‌اس ‌آى ‌ّستٌذ ‌را ‌هی‌سبسد‪‌.‬‬
‫ای‌ثٌَیسیذ‌کِ‌ثب‌گزفتي‌تؼذاد‌اػذاد‌ٍ‌اػذاد‌حبصلجوغ‪‌،‬هجوَػِ‌اػذاد‌را‌چبح‌کٌذ‪‌.‬ثزًبهِ‌ثبیذ‌در‌خط‌اٍّل‌‬
‫‌‬
‫‌‬
‫ثزًبهِ‬
‫ػذد‌‪‌ٍ‌n‬در‌‌‬
‫)‬
‫(‬
‫ثگیزد‪‌.‬اگز‌پیذا‌کزدى‌هجوَػِای‌اس‌اػذاد‌صحیح‌هوکي‌ثبضذ‪‌،‬آى‌‬
‫‌‬
‫خط‌ثؼذی‌حبصل‌جوغّب‌را‌‬
‫‌‬
‫‌‬
‫خط‌ثؼذی‌چبح‌کٌذ‪‌.‬در‌غیز‌ایي‌صَرت‌در‌خط‌ثؼذی‌کلوِی‌‪ً‌Impossible‬وبیص‌دادُ‌ضَد‪‌ ‌.‬‬
‫‌‬
‫را‌پیذا‌کٌذ‌ٍ‌در‌‪‌n‬‬
‫ًوًَِ‪‌ :‬‬
‫ٍرٍدی‪:‬‬
‫‪5‬‬
‫‪226 223 225 224 227 229 228 226 225 227‬‬
‫خزٍجی‪‌ :‬‬
‫‪111 112 113 114 115‬‬
‫ٍرٍدی‪:‬‬
‫‪3‬‬
‫‪111‬‬
‫خزٍجی‪‌ :‬‬
‫‪Impossible‬‬
‫سؤال‌‪‌ .2‬‬
‫اقَام‌ٍی‌ًیش‌در‌ایي‌ضْزک‌سًذگی‌هیکٌٌذ‪‌.‬اٍ‌‬
‫‌‬
‫کسی‌هیخَاّذ‌در‌ضْزکی‪‌ ،‬خیبثبًی‌را‌ثزای‌سکًَت‌اًتخبة‌کٌذ‪‌.‬‬
‫‌‬
‫ی‌اٍ‌تب‌اقَاهص‌کوتزیي‌هقذار‌هوکي‌ضَد‪‌.‬فبصلِی‌‬
‫‌‬
‫‌‬
‫ای‌اًتخبة‌کٌذ‌کِ‌هجوَع‌فبصلِ‬
‫‌‬
‫خَاّذ‌ایي‌خیبثبى‌را‌ثِ‌گًَِ‬
‫‌‬
‫هی‬
‫خبًِّبی ‌داخل ‌یک ‌خیبثبى ‌را ‌صفز ‌فزض ‌هی‌کٌین‪‌ .‬ثزًبهِ‌ای ‌ثٌَیسیذ ‌کِ ‌اثتذا ‌تؼذاد ‌خیبثبى‌ّبی ‌ضْزک ‌ٍ ‌سپس‌‬
‫‌‬
‫تؼذاد‌اقَام‌سبکي‌در‌ّز‌خیبثبى‌را‌ثِ‌ػٌَاى‌ٍرٍدی‌ثگیزد‌ٍ‌ثْتزیي‌خیبثبى‌را‌ثِ‌ػٌَاى‌خزٍجی‌چبح‌کٌذ‪(‌.‬ضزٍع‌‬
‫گذاری‌خیبثبىّب‌اس‌‪‌1‬است)‪‌ .‬‬
‫‌‬
‫‌‬
‫ضوبرُ‬
‫سؤال‌‪‌ .3‬‬
‫ّبی‌هستطیلی‌استفبدُ‌هیکٌین‪ّ‌.‬ز‌‬
‫‌‬
‫‌‬
‫سبسی‌کٌین‪‌.‬در‌ایي‌ثبسی‌اس‌هْزُ‬
‫‌‬
‫خَاّین‌ثبسی‌دٍهیٌَ‌را‌پیبدُ‬
‫‌‬
‫در‌ایي‌سؤال‌هی‬
‫کٌٌذُ‌ثبیذ‌هْزُّب‌را‌‬
‫‌‬
‫‌‬
‫قزار‌دارد‪‌.‬ثبسی‬
‫هستطیل‌ثِ‌دٍ‌قسوت‌تقسین‌ضذُ‌است‌کِ‌رٍی‌ّز‌قسوت‌ػذدی‌ثیي‌‪‌ 6‌ٍ‌ 1‬‬
‫طَری‌پطت‌سز‌ّن‌قزار‌دّذ‌کِ‌ػذد‌رٍی‌قسوت‌هجبٍر‌ّز‌دٍ‌هْزُ‌هتَالی‌یکسبى‌ثبضذ‪‌ .‬‬
‫ثزًبهِای‌ثٌَیسیذ‌کِ‌ثِ‌ػٌَاى‌ٍرٍدی‌در‌خط‌اٍّل‌تؼذاد‌هْزُ‌ّب‌ٍ‌سپس‌در‌ّز‌خط‌دٍ‌ػذد‌کِ‌هؼزّف‌اػذاد‌رٍی‌‬
‫‌‬
‫ّب‌را‌ثِ‌تزتیت‌چیذى‌آىّب‌چبح‌کٌذ‪‌.‬اگز‌‬
‫‌‬
‫‌‬
‫ی‌هْزُ‬
‫‌‬
‫ٍجَد‌دارد‪‌،‬ضوبرُ‬
‫هْزُ‌هیثبضذ‌را‌ثگیزد‪‌.‬پس‌اس‌آى‌اگز‌اهکبى‌حل‌‬
‫‌‬
‫اهکبى‌حل‌ًیست‌کلوِی‌‪‌impossible‬را‌ًوبیص‌دّذ‪‌ .‬‬
‫‌‬
‫سؤال‌‪‌ .4‬‬
‫سبسی‌کٌذ‪ٍ‌.‬رٍدیّب‌ثِ‌ایي‌صَرت‌است‌کِ‌اثتذا‌سِ‌ػذد‌‬
‫‌‬
‫‌‬
‫را‌ثِ‌صَرت‌دٍ‌ًفزُ‌پیبدُ‬
‫ثزًبهِای‌ثٌَیسیذ‌کِ‌ثبسی‌‪‌nim‬‬
‫‌‬
‫ضَد‌کِ‌ثِ‌تزتیت‌اًذاسُی‌ستَى‌اٍّل‪‌،‬دٍم‌ٍ‌سَم‌است‪‌.‬در‌ّز‌ًَثت‌ّز‌ثبسیکي‌دٍ‌‬
‫‌‬
‫‌‬
‫اس‌ٍرٍدی‌گزفتِ‌هی‬
‫‪‌ k‌ٍ‌ n‌،m‬‬
‫ی‌ستَى‌را‌تؼییي‌هیکٌذ‌ٍ‌ ‪‌ t‬تؼذاد‌‬
‫‌‬
‫‌‬
‫است‌کِ‌ضوبرُ‬
‫رٍدی‌ٍارد‌هیکٌذ‌کِ‌‪‌ s‬یک‌ػذد‌‪‌ 2‌ ،1‬یب‌‪‌ 3‬‬
‫‌‬
‫ػذد‌‪‌ t‌ٍ‌ s‬در‌ٍ‬
‫ای‌است‌کِ‌اس‌آى‌ستَى‌ثبیذ‌ثزداضتِ‌ضَد‌ٍ‌کسی‌کِ‌در‌ًْبیت‌ًتَاًذ‌ّیچ‌هْزُای‌را‌ثزدارد‌ثبسًذُ‌است‪‌ .‬‬
‫‌‬
‫‌‬
‫هْزُ‬
‫اگز‌ثبسیکي‌اٍّل‌ثزًذُ‌ضذ‌‪‌ٍ‌Player1 Won‬اگز‌ثبسیکي‌دٍّم‌ثزًذُ‌ضذ‌‪‌Player2 Won‬را‌چبح‌کٌیذ‪‌ .‬‬
‫سؤال‌‪‌ .5‬‬
‫سبسی‌کٌیذ‪ٍ‌.‬رٍدی‌ایي‌هبضیيحسبة‌یک‌رضتِ‌است‌کِ‌جَاة‌آى‌ثِ‌ػٌَاى‌‬
‫‌‬
‫‌‬
‫حسبة‌هٌْذسی‌را‌پیبدُ‬
‫‌‬
‫یک‌هبضیي‬
‫حسبة‌هٌتظز‌رضتِی‌ثؼذی‌خَاّذ‌هبًذ‪‌ .‬‬
‫‌‬
‫‌‬
‫ضَد‌ٍ‌سپس‌هبضیي‬
‫‌‬
‫خزٍجی‌چبح‌هی‬
‫)‌ٍ‌پزاًتش‌است‪‌.‬اس‌رضتِی‌‪‌res‬‬
‫‌‬
‫اػوبل‌هجبس‌در‌ایي‌هبضیيحسبة‌جوغ(‪‌،)+‬تفزیق(‪‌،)-‬ضزة(*)‪‌،‬تقسین(‪‌،)/‬تَاى(^‬
‫‌‬
‫ی‌هبضیيحسبة‌است‌ٍ‌هقذار‌اٍّلیِ‌ی‌‪‌ 0‬را‌‬
‫‌‬
‫‌‬
‫تَاى‌ثِ‌ػٌَاى‌یک‌ػذد‌استفبدُ‌کزد‌کِ‌آخزیي‌هقذار‌ثِ‌دست‌آهذُ‬
‫‌‬
‫هی‬
‫دارد‪‌ .‬‬
‫هَفق‌ثبضیذ‬
‫هحسي‌صحزائی‬