AS 4.pdf

‫به وام یزدان پاک‬
‫دسع‌‪‌:‬هثاًی‌تشًاهِػاصی‌–‌گشٍُ‌‪‌)40153(‌2‬‬
‫‌‬
‫‌هذسع‌‪‌:‬اهیذ‌خؼفشی‌ًظاد‌‌‌‬
‫تمریه سری چهارم‬
‫آخشیي‌هْلر‌اسػال‪‌:‬خوؼِ‌‪‌24‬خشداد‌ػاػر‌‪‌23:59‬‬
‫وکات کلی ‪:‬‬
‫خاػخّای‌خَد‌سا‌دس‌ػیؼسن‌داٍسی‌آى‌الیي‌ٍ‌حذاکثش‌زا‌‪‌،1392/3/24‬ػاػر‌‪‌23:59‬آخلَد‌کٌیذ‪‌.‬‬
‫‌‬
‫‪‬‬
‫‪ ‬دس‌زوشیي‌ّای‌تشًاهِ‌ًَیؼی‪‌،‬گزاؿسي‌کاهٌر‌ًوشُ‌ی‌اضافی‌داسد‪.‬‬
‫‪ ‬تِ‌اصای‌ّش‌ػاػر‌زاخیش‪‌5 ‌،‬دسصذ‌اص‌ًوشُ‌کؼش‌خَاّذ‌ؿذ (زا‌‪‌6‬ػاػر)‪‌.‬زاخیش‌تیؾ‌اص‌‪‌6‬ػاػر‌زا‌یک‌سٍص‌‬
‫‪ ‌40‬دسصذ‌ًوشُ‌سا‌کؼش‌خَاّذ‌ًوَد‌ٍ‌زاخیش‌دٍ‌سٍص‌ ‪ ‌60‬دسصذ‌ ًوشُ‌سا ‪ ‌.‬زاخیش‌تیؾ‌اص‌دٍ‌سٍص‌قاتل‌قثَل‌‬
‫ًیؼر‌ٍ‌ًوشُای‌زؼلق‌ًخَاّذ‌گشفر‪.‬‬
‫‌‬
‫‪ ‬صتاى‌هَسد‌ًظش‌تشای‌ایي‌ػشی‪‌،‬صتاى‌ ‪ ‌C‬اػر‌ًِ‌ ‪ ‌. ‌C++‬طثیؼسا‌تِ‌کؼاًی‌کِ‌تِ‌صتاى‌ ‪ ‌C‬کذ‌ًضًٌذ‌ًوشُ‌ای‌‬
‫زؼلق‌ًخَاّذ‌گشفر‪.‬‬
‫‪ ‬تشای‌زؼر‌تشًاهِ‌ّای‌خَدزاى‪‌،‬هی‌زَاًیذ‌اص‌دػسَس )”‪ ‌ system(“pause‬دس‌اًسْای‌تشًاهِ‌ّایساى‌اػسفادُ‌‬
‫ی‌تشًاهِّایساى‌خاک‌کٌیذ‪.‬‬
‫‌‬
‫کٌیذ‌اها اکیدا‌ززکش‌هی‌دّین‌کِ‌ایي‌دػسَس‌سا‌قثل‌اص‌فشػسادى‪‌،‬اص‌آخش‌ّوِ‌‬
‫‪ ‬ػیؼسن‌زصحیح‌ایي‌زوشیي‌تِ‌صَسذ‌خَدکاس‌ٍ‌آًالیي‌اػر ‪ ‌.‬لزا‌تشًاهِ‌ی‌ؿوا‌دس‌ّواى‌لحظِ‌دس‌ػیؼسن‌‬
‫‪‌online judge‬زصحیح‌خَاّذ‌ؿذ‪‌.‬خغ‌حسوا‌ًکاذ‌گفسِ‌ؿذُ‌سا‌سػایر‌فشهاییذ‌زا‌تِ‌هـکلی‌تشًخَسیذ ‪.‬‬
‫‪ ‬هؼلن‌اػر‌کِ‌ّن‌فکشی‌تا‌تقیِ‌داًؾ‌خَیاى‌ایشادی‌ًذاسد‌ٍلی‌ّشگًَِ‌کدی‌تشداسی‌چِ‌اص‌ػایش‌دٍػساى‌ٍ‌یا‌‬
‫اص‌کذّای‌آهادُ‌دس‌ایٌسشًر‌زخلف‌هحؼَب‌هی ‌ؿَد‌ٍ‌ًوشُ‌ای‌زؼلق‌ًخَاّذ‌گشفر‌ٍ‌تا‌هسخلفیي‌تشخَسد‌‬
‫خَاّذ‌ؿذ‪‌.‬ایي‌تشخَسد‌ؿاهل‌زقلة‌دٌّذُ‌ٍ‌زقلة‌گیشًذُ‌خَاّذ‌تَد‌(ؿذیذ!!!)‪.‬‬
‫‪ ‬قطغ‌تَدى‌ایٌسشًر‌خَاتگاُ‪‌،‬کٌذی‌ایٌسشًر‪‌،‬زوام‌ؿذى‌کاسذ‌ٍ‌ ‪ ‌...‬تِ‌ّیچ‌ٍخِ‌دالیل‌هَخْی‌ًیؼسٌذ ‪‌.‬‬
‫تٌاتشایي‌خیـٌْاد‌هیکٌین‌زواسیي‌خَد‌سا‌کوی‌صٍدزش‌اسػال‌کٌیذ‌زا‌تِ‌هـکل‌تشًخَسیذ ‪.‬‬
‫‌‬
‫‪ ‬ػَاالذ‌خَد‌سا‌دس‌ ‪‌piazza‬هطشح‌کٌیذ‪‌.‬‬
‫هشزة‌ػاصی‌آسایِ(‪ً‌25()QuickSort.c‬وشُ)‌‬
‫اػر‌کِ‌تِدلیل‌هصشف‌حافظِ‌کن‪‌،‬ػشػر‌اخشای‌هٌاػة‌‬
‫‌‬
‫هشزةػاصی‌آسایِ‬
‫‌‬
‫‪‌Quick Sort‬یکی‌اص‌سٍؽ‌ّای‬
‫خیادُػاصی ػادُ‌تؼیاس‌خشکاستشد‌ؿذُ‌اػر ‌‬
‫ٍ ‌‬
‫ّا‌اسائِ‌هیًوایذ‪:‬‬
‫‌‬
‫ایي‌الگَسیسن‌طی‌هشاحل‌تاصگـسی‌صیش‌یک‌سٍؽ‌زقؼین‌ٍ‌غلثِ‌تشای‌هشزة‌کشدى‌دادُ‌‬
‫‪ .1‬اًسخاب‌ػٌصش‌هحَسی‪‌:‬یکی‌اص‌ػٌاصش‌آسایِ‌تِ‌ػٌَاى‌ػٌصش‌هحَسی ‪ (pivot) -‬تِ‌ػٌَاى‌هثال‌ػٌصش‌اٍل‌‪‌-‬‬
‫اًسخاب‌هیؿَد‪.‬‬
‫‌‬
‫‪ .2‬زقؼین‌آسایِ‪‌:‬چیٌؾ‌ػٌاصش‌آسایِ‌تِ‌قؼوی‌زغییش‌دادُ‌هی‌ؿَد‌کِ‌زواهی‌ػياصش‌کَچکسش‌یا‌هؼاٍی‌هحَس‌‬
‫دس‌ػور‌چح‌آى‪‌ٍ‌،‬زواهی‌ػٌاصش‌تضسگسش‌دس‌ػور‌ساػر‌آى‌قشاس‌تگیشًذ ‪‌.‬ایي‌دٍ‌قؼور‌صیش‌آسایِ‌ّای‌‬
‫چح‌ٍ‌ساػر‌ًاهیذُ‌هی‌ؿًَذ‪.‬‬
‫هشزةػاصی‌تاصگـسی‪‌:‬صیشآسایِ‌ّای‌چح‌ٍ‌ساػر‌تِ‌سٍؽ‌هشزة‌ػاصی‌ػشیغ‌هشزة‌هی‌ؿًَذ‪.‬‬
‫‌‬
‫‪.3‬‬
‫دس‌ایي‌سٍؽ‌تشای‌هشزة ػاصی ػٌاصش یک دًةالِ‪ ،‬یکی اص آى ّا تِ صَسذ زصادفی تِ ػٌَاى هحَس اًسخاب هی‬
‫ؿَد؛ ػدغ ػٌاصش آى دًثالِ تِ‌گًَِ ای قشاس هی گیشًذ کِ ّوِ ی ػٌاصش کَچک زش اص هحَس دس آغاص‌دًثالِ‪ّ ٍ ،‬وِ‬
‫ی ػٌاصش تضسگ زش یا هؼاٍی هحَس دس‌اداهِ قشاس گیشًذ ‪.‬تِ ایي ػول تخؾ تٌذی گفسِ هی ؿَد ‪.‬هثالً دس دًثالِ ی‬
‫صیش‪:‬‬
‫) ‪( 1, 66, 7, 3, 2, 19, 5‬‬
‫اگش ػذد ‪ 5‬تِ ػٌَاى هحَس اًسخاب ؿَد‪ ،‬خغ اص ػول تخؾ تٌذی‪ ،‬دًثالِ ی صیش حاصل صیش هی ؿَد‪:‬‬
‫) ‪( 1, 3, 2, 5, 7, 66, 19‬‬
‫اکٌَى اگش زاتغ هشزة ػاصی تِ صَسذ تاص گـسی سٍی دٍ تخؾ صیش کِ حاصل اص تخؾ تٌذی اػر اخشا ؿَد‪:‬‬
‫) ‪( 1, 3, 2, 5 ), ( 66, 19‬‬
‫دس ایي صَسذ کل دًثالِ تِ صَسذ هشزة دس خَاّذ آهذ‪.‬‬
‫دس ایي زوشیي ؿوا زاتؼی هی ًَیؼیذ کِ تا اػسفادُ اص الگَسیسن هشزة ػاصی ػشیغ آسایِ ای اص اػذاد صحیح سا هشزة‬
‫هی کٌذ‪.‬‬
‫تشًاهِ‌ؿوا‌اتسذا‌زؼذاد‌ػٌاصشی(حذاکثش‪‌1000‬ػذد)‌کِ‌هی‌خَاّین‌هشزة‌کٌین‌سا‌هی‌گیشد‌ػدغ‌ػٌاصش‌سا‌اص‌‬
‫کاستش‌هی‌گیشد‪‌.‬‬
‫‌‬
‫‌‬
‫هثال‌‪‌:‬‬
‫خروجی‌‬
‫شماره مثال‌‬
‫ورودی‌‬
‫‪1 2 3 5 7 19 66‬‬
‫‪7‬‬
‫‪‌1‬‬
‫‪1 4 7 9 10 33 42 56‬‬
‫‪1 66 7 3 2 19 5‬‬
‫‪8‬‬
‫‪‌2‬‬
‫‪‌4 7 1 9 10 33 42 56‬‬
‫‌‬
‫خـسِ‌(‪ً‌20()Stack.c‬وشُ)‌‬
‫دادُػاخساسّا‌ اػر‌ٍ‌تشای رخیشُ ٍ تاصیاتی دادُ‌ّا کاستشد‌داسد‪‌.‬ؿیَُ‌ػولکشد‌خـسِ‌تش‌اػاع‌‬
‫خـسِ‌یکی‌اص‌اًَاع ‌‬
‫کَزاُؿذُ‌ػثاسذ ‪( Last In First Out‬آخشیي‌ٍسٍدی‌اص‌ّوِ‌صٍدزش‌خاسج‌هی‌ؿَد)‌‬
‫ػیاػر ‪ LIFO‬اػر ‪‌ . LIFO‬‬
‫اػر‪‌.‬ایي‌ػیاػر‌اػاع‌کاس‌خـسِ‌ّا‌سا‌زـکیل‌هی‌دّذ‌ٍ‌تِ‌هفَْم‌آى‌اػر‌کِ آخشیي‌دادُ‌رخیشُ‌ؿذُ‌دس‌‬
‫خـسِ‪ً‌،‬خؼسیي‌دادُای‌اػر‌کِ‌تاصیاتی‌هی‌ؿَد‪‌.‬‬
‫‌‬
‫‌‬
‫دػسِ‌کساب‌ّا‌سٍی‌هیض‪‌،‬هثالی‌خَب‌اص‌خـسِ‌اػر‪‌.‬دس‌ایي‌حالر‌ها‌‬
‫زٌْا‌هیزَاًین‌تش سٍی دػسِ‌کساتْا‪‌،‬کساتی‌تگزاسین‌ٍ‌اص‌طشفی‌زٌْا‌‬
‫‌‬
‫هیزَاًین‌اصسٍی دػسِ‌کساتْا‪‌،‬کساتی‌تشداسین‌(یؼٌی‌ٍسٍد‌ٍ‌خشٍج‌اص‌‬
‫‌‬
‫یک‌ػور‌اًدام‌هی‌گیشد)‪‌.‬سٍؿي‌اػر‌کِ‌دس‌ایي‌حالر‌آخشیي‌‬
‫کساتی‌کِ‌سٍی‌دػسِ‌کساتْا‌قشاس‌دادُ‌ؿذُ‪ً‌،‬خؼسیي‌کساتی‌اػر‌کِ‌‬
‫تشداؿسِ‌هیؿَد‌ٍ‌اٍلیي‌کساتی‌کِ‌سٍی‌هیض‌گزاؿسِ‌ؿذُ‪‌،‬آخش‌اص‌‬
‫‌‬
‫ّوِ‌تشداؿسِ‌خَاّذ‌ؿذ‪‌.‬‬
‫ػول‌اضافِ‌کشدى‌ػٌصش‌خذیذی‌دس‌ خـسِ ‪‌ٍ push‬ػول‌حزف‌ػٌصشی‌اص‌خـسِ ‪‌ٍ‌ pop‬‬
‫ػٌصش‌تاالی‌خـسِ‌‪ً ‌top‬اهیذُ‌هی‌ؿَد‪‌.‬‬
‫‪U‬‬
‫تا‌دیذى‌ایي‌کاساکسش‌یک‌ػذد‌اس‌ٍسٍدی‌خَاًذُ‌‬
‫ٍ‌آى‌سا‌سٍی‌خـسِ‌قشاس‌هی‌دّذ‪‌.‬‬
‫‪‌O‬‬
‫تا‌دیذى‌ایي‌کاساکسش‌ػذد‌سٍی‌خـسِ‌سا‌خاسج‌‬
‫کشدُ‌ٍ‌دس‌خشٍخی‌چاج‌هی‌کٌذ ‪‌.‬‬
‫‪‌P‬‬
‫تا‌دیذى‌ایي‌کاساکسش‌اػذاد‌هَخَد‌دس‌خـسِ‌سا‌‬
‫چاج‌هی‌کٌذ‪‌.‬‬
‫‪‌E‬‬
‫تا‌دیذى‌ایي‌کاساکسش‌تشًاهِ‌خایاى‌هی‌یاتذ‪‌.‬‬
‫ورودی‬
‫خروجی‬
U
234
2
4
U
237
3
7
U
23
4
P
O
U
7
P
O
P
E
U
43592
4
2
U
9
3
435
U
5
5
43
U
9
U
2
P
O
O
P
O
P
‌E
‌
‌
‌
‫ػَدٍکَ‌(‪ً‌45(‌)Sudoku.c‬وشُ)‌‬
‫ػَدٍکَ‌خذٍل‌اػذادی‌اػر‌کِ‌اهشٍصُ‌یکی‌اص‌ػشگشهی‌ّای‌سایح‌دس‌کـَسّای‌هخسلف‌خْاى‌تِ‌ؿواس‌هی‌آیذ‪‌.‬‬
‫ػَدٍکَ‪‌،‬هخفف‌ػثاسذ‌طاخٌی(‌ػَخی‌ٍا دٍکَؿیي‌ًی کاگیشٍ) تِ‌هؼٌی‌«اسقام‌تایذ‌زٌْا‌تاؿٌذ»‌اػر‪‌.‬‬
‫ػَدٍکَ‌ هفیذ‌زشیي‌تاصی‌فکشی‌تشای‌رّي‌اػر‌کِ‌هغض‌ها‌سا‌دس‌سیاضی‌زقَیر‌کشد ُ‌ٍ‌زفکش‌سا‌تشای‌ها‌آػاى‌هی‌‬
‫کٌذ‪‌.‬‬
‫ًَع‌هسذاٍل‌ػَدٍکَ‌یک‌خذٍل‌‪ ۹x۹‬اػر‌کِ‌کل‌خذٍل‌ّن‌تِ‌‬
‫زقؼین‌ؿذُاػر‪‌.‬دس‌ایي‌خذٍل‌چٌذ‌‬
‫‌‬
‫خذٍل‌کَچکزش‌‪۳x۳‬‬
‫‌‬
‫‪‌۹‬‬
‫ػذد‌تِ‌طَس‌خیؾ‌فشض‌قشاس‌داُ‌ؿذُ‌کِ‌تایذ‌تاقی‌اػذاد‌سا‌تا‌‬
‫سػایر‌ػِ‌قاًَى‌صیش‌یافر‪:‬‬
‫‪ ‬قاًَى‌اٍل‪‌:‬دس‌ّش‌ػطش‌خذٍل‌اػذاد‌‪‌۱‬الی‌‪‌۹‬تذٍى‌زکشاس‌‬
‫قشاس‌گیشد‪.‬‬
‫‪ ‬قاًَى‌دٍم‪‌:‬دس‌ّش‌ػسَى‌خذٍل‌اػذاد‌‪‌۱‬الی‌‪‌۹‬تذٍى‌زکشاس‌‬
‫قشاس‌گیشد‪.‬‬
‫‪ ‬قاًَى‌ػَم‪‌:‬دس‌ّش‌ًاحیِ‌‪ ۳x۳‬خذٍل‌اػذاد‌‪‌۱‬الی‌‪‌۹‬تذٍى‌‬
‫زکشاس‌قشاس‌گیشد‪‌.‬‬
‫تشًاهِ‌ای‌تٌَیؼیذ‌کِ‌یک‌خذٍل‌ػَدٍکَ‌ًاقص‌تگیشد‌ٍ‌آى‌سا‌حل‌کشدُ‌ٍ‌دس‌خش ٍخی‌چاج‌کٌذ‪‌.‬تِ‌خای‌‬
‫خاًِ‌ّای‌ًاهـخص‌*‌ٍاسد‌هی‌ؿَد‪.‬دسصَسزیکِ‌ػَدٍکَ‌قاتل‌حل‌کشدى‌ًثاؿذ‌ ‪‌Impossible‬تایذ‌چاج‌‬
‫ؿَد‪‌.‬‬
‫‌‬
‫‌‬
‫‌‬
‫‌‬
‫‌‬
‫خروجی‬
‫شماره مثال‬
‫ورودی‬
‫‪561289473‬‬
‫*‪*****9*7‬‬
‫‪392746851‬‬
‫*‪****4**5‬‬
‫‪874135296‬‬
‫‪8**1****6‬‬
‫‪137698524‬‬
‫**‪1***985‬‬
‫‪985421367‬‬
‫*‪*85*2*36‬‬
‫‪426573189‬‬
‫‪**657***9‬‬
‫‪753912648‬‬
‫‪7****2**8‬‬
‫‪248367915‬‬
‫****‪*4**6‬‬
‫‪619854732‬‬
‫*****‪*1*8‬‬
‫‪Impossible‬‬
‫*******‪‌ 11‬‬
‫*********‬
‫*********‬
‫*********‬
‫*********‬
‫*********‬
‫*********‬
‫*********‬
‫*********‬
‫‌‬
‫‪1‬‬
‫ضشب‌چٌذخولِ‌ای‌(‪ً 10(‌)Polynomial.c‬وشُ)‌‬
‫ضشب‌چٌذخولِ‌ای‌ّا‪‌:‬‬
‫تشًاهِ‌ای‌تٌَیؼیذ‌کِ‌‌دٍ‌چٌذخولِ‌ای‌حذاکثش‌اص‌دسخِ‌ ‪‌7‬سا‌دس‌ّن‌ضشب‌کٌذ هثال‌اگش‌دٍ‌چٌذخولِ‌ای‌تِ‌‬
‫صَسذ‌صیش‌داؿسِ‌تاؿیذ‪‌:‬‬
‫‪2x 4 + 5x 3 + x‬‬
‫‪x 6 + 4x 4 + 6x 2‬‬
‫ضشایة‌چٌذخولِ‌ای‌ّا‌تِ‌‌صَسذ‌صیش‌تِ‌تشًاهِ‌ؿوا‌دادُ‌هی‌ؿَد ‪‌:‬‬
‫‪00025010‬‬
‫‪01040600‬‬
‫اص‌آى‌خا‌کِ‌حاصلضشب‌دٍ‌چٌذخولِ‌ای‌تِ‌صَسذ‬
‫‌ ‪2x10 + 5x 9 + 8x 8 + 21x 7 + 12x 6 + 34x 5 + 6x 3‬‬
‫اػر‌تشًاهِ‌ؿوا‌تایذ‌ ‪‌0 0 0 0 2 5 8 21 12 34 0 6 0 0 0‬دس‌خشٍخی‌چاج‌کٌذ ‪‌.‬‬
‫هثال‪‌:‬‬
‫خشٍخی‌‬
‫‪1 4 10 20 35 56 84 120 147 164 170 164 145 112 64‬‬
‫‪1 4 10 20 35 56 70 76 73 60 36 0 0 0 0‬‬
‫‪0 0 0 0 2 5 8 21 12 34 0 6 0 0 0‬‬
‫ٍسٍدی‌‬
‫‪12345678‬‬
‫‪12345678‬‬
‫‪12345600‬‬
‫‪12345600‬‬
‫‪0‌1‌0‌5‌2‌0‌0‌0‬‬
‫‪‌0‌0‌6‌0‌4‌0‌1‌0‬‬
‫ؿواسُ‌هثال‌‬
‫‪‌1‬‬
‫‪‌2‬‬
‫‪3‬‬
‫‌‬
‫هَفق‌تاؿیذ‌ٍ‌خَؽ‌‪‌‬‬