گالري عکس
جديدترين مطالب سايت
عکس های جدید و بیوگرافی حامد بهداد
عکس و بیوگرافی طناز طباطبایی – جدید
سری جدید عکس های محمدرضا گلزار
عكسهاي زيبا و هنري از ليلا اوتادي
عکسهای دیدنی آنجلینا جولی در میان سیل زدگان پاکستان
عکس های پرتره از بازیگران ایرانی
سردار طلایی بر سر گریم اکبر عبدی (عکس)
عکس: حمید گودرزی و همسرش درحال خرید موز!!
عکس های جدید ژیلا صادقی
عکس های جدید الهام حمیدی
عکس های الناز شاکر دوست در فیلم در میان ابر ها
عکسی از زنده یاد خسرو شکیبایی و پونه حاج محمدی
عکس های آرزو افشار
سری جدید پوستر های زیبا از بازیگران ایرانی
عکس های یاسر جعفری و هستی مهدوی فر در سریال جراحت
عکسی جالب از خشایار راد
بیوگرافی شهرزاد عبدالمجید +عکس
عکس های جدید مهناز افشار در فیلم سینمایی طبقه سوم
عکس های دیدنی از ژیلا صادقی مجری تلویزیون قبل و بعد از گریم
عکسهای سودابه بیضایی در فیلم شهر اسفنجی
عکسهای دیدنی از امین تارخ + بیوگرافی
گالری عکس های شبنم قلی خانی
عکس های فریبا نادری
عکس: آخرین روزهای مهین شهابی
عکسهای محمدرضا گلزار، زمانی که به عنوان یک مدل لباس فعالیت میکرد!!
عکس های مصطفی زمانی سری جدید
سری جدید عکسهای شاهرخ استخری
عکسهای علی کـریمی در جمـع کـودکـان بـی سرپــرسـت
عکس: شجریان در جشن هنر شیراز
عکس های جدید و بسیار زیبا از حسام نواب صفوی
عکسهای جدید سحر قریشی , سمانه پاکدل و حدیث میر امینی بدون گریم
عکسی از جوانی فرامرز قریبیان
عکس های ارسلان قاسمی
عکس های آزاده ریاضی
عکس های افسانه پاکرو
عکسهای دیدنی از تقدیر از بازیگران فاصله ها (جدید)
عکس های فرزاد فرزین
عکس های رز رضوی
عکس های خنده دار فیروز کریمی
عکس های آشا محرابی
درس گرفتن از اشتباهها

گردنبندي عتيقه از سنگهاي قيمتي رنگي (هر مهره دو رنگ دارد) که به يک برنامهنويس رسيده بود، در يک حادثه پاره ميشود و اين فرد بههر ترتيب که هست، ميخواهد سنگهاي پيدا شده را دوباره به هم بچسباند.
تنها اطلاعاتي که از اين گردنبند دارد اين است که هر دو دانه رنگي در نقطه مشتركي كه به هم برخورد ميكردند، همرنگ بودند. از آنجا که او مطمئن نيست كه تمام دانهها را جمع كرده يا نه، ميخواهد بداند كه آيا ممكن است تا گردنبند را مثل اول درست كند؟ اگر اين امكان هست، چگونه ميتوان آن را مرتب كرد؟
برنامهنويس پرکار هم بهجاي حل مساله بهشيوه ذهني، يک مساله برنامهنويسي مطرح کرده است که ورودي آن به اين صورت است:
اولين خط وروديها شامل int t است كه تعداد حالات مختلف آزمايش را به ما ميدهد.
اولين خط از هر حالت تست شامل N?X?
1000)int N) كه تعداد دانههايي است كه پيدا شده است.
هر كدام از N خطهاي بعدي شامل دو تا int است كه رنگهاي يك دانه را تشريح ميكند. رنگها بهصورت 1 تا 50 ارائه ميشوند.
خروجي
براي هر حالت آزمايش، شماره حالت آزمون را در خروجي چاپ كنيد (همانطور كه در جواب نمونه آورده شده). اگر گردآوري دوباره دانهها غيرممكن بود، جمله تعدادي از دانهها احتمالا گم شده است را چاپ كنيد. در غير اين صورت N خط كه هر كدام با تك دانهاي كه شرح داده شده براي 1 ? i ? N- 1 را چاپ كنيد.
دومين عدد int در هر خط بايد با اولين int خط بعدي يكي باشد. همچنين در آخرين خط عدد int دومي بايد با عدد int خط اول يكي باشد. (يك خط خالي بين دو حالت متوالي جوابهايتان چاپ كنيد.)
راههاي مختلفي براي حل اين مساله وجود دارد كه هر كدام از آنها از سوي شما قابل قبول خواهد بود.
نمونه ورودي
2
5
1 2
2 3
3 4
4 5
5 6
5
2 1
2 2
3 4
3 1
2 4
نمونه خروجي
Case #1
some beads may be lost
Case #2
2 1
1 3
3 4
4 2
2 2
اما روش حل مساله! براي حل اين مساله ممکن است راههاي مختلفي وجود داشته باشد ما يکي از راههاي موجود که با توجه به مسالهاي که سه هفته پيش مطرح کرديم (يعني مساله وزيران)، در همان مقاله توضيح داديم که براي حل مساله از روش پسگرد (BackTracking) استفاده کردهايم يعني عملي را انجام ميدهيم تا زماني که درست باشد، وقتي به يک جواب غلط رسيديم به حالت درست بعدي که در مرحله قبل وجود دارد بررسي ميکنيم، بسيار خب از همين روش براي حل اين مساله استفاده ميکنيم.
خب اول يک سري شرط را بررسي ميکنيم تا ببينيم اين مساله با دادههاي بيان شده در صورت مساله حل ميشود يا نه؟
اولين شرط اين است که چون گردنبد بهصورت حلقه است و اگر مهرهاي با رنگ آبي-قرمز به عنوان اولين مهره انتخاب شود بايد حداقل يک مهره وجود داشته باشد که بهصورت قرمز-* باشد، يعني حداقل مهرهاي وجود داشته باشد که با رنگ قرمز شروع شود (مهرهها بهصورت يک زوج مرتب هستند)، همانطور که در روش پسگرد توضيح داده شده است، اول بايد يک درخت رسم کنيم، ريشه درخت يکي از مهرههاي ماست که يک زوج مرتب است که بهصورت «Tuple«int,int تعريف شده، در سطح بعدي بايد مهرههايي انتخاب شوند که در شرط زير صادق باشند:
if (tuple1.Item2 == tuple2.Item1)
يعني اگر مهره آبي-قرمز انتخاب شود بايد مهرههايي انتخاب شوند که بهصورت قرمز-* باشند، بعد از اين مرحله يکسري مهره ميماند يکي از آنها انتخاب ميشود که بهصورت قرمز-سبز است، از باقي مهرهها مهرهايي انتخاب ميشوند که بصورت سبز-* باشند اين عمل را تا زماني انجام ميدهيم که تمام مهرهها تمام شود، و اگر مهرهها تمام شد و گردنبند درست شد، به جواب درست رسيدهايم و مهرهها را بهترتيب در خروجي چاپ ميکنيم (همانطور که در صورت سوال توضيح داده شدهاست).
اميربهاالدين سبطالشيخ
تنها اطلاعاتي که از اين گردنبند دارد اين است که هر دو دانه رنگي در نقطه مشتركي كه به هم برخورد ميكردند، همرنگ بودند. از آنجا که او مطمئن نيست كه تمام دانهها را جمع كرده يا نه، ميخواهد بداند كه آيا ممكن است تا گردنبند را مثل اول درست كند؟ اگر اين امكان هست، چگونه ميتوان آن را مرتب كرد؟
برنامهنويس پرکار هم بهجاي حل مساله بهشيوه ذهني، يک مساله برنامهنويسي مطرح کرده است که ورودي آن به اين صورت است:
اولين خط وروديها شامل int t است كه تعداد حالات مختلف آزمايش را به ما ميدهد.
اولين خط از هر حالت تست شامل N?X?
1000)int N) كه تعداد دانههايي است كه پيدا شده است.
هر كدام از N خطهاي بعدي شامل دو تا int است كه رنگهاي يك دانه را تشريح ميكند. رنگها بهصورت 1 تا 50 ارائه ميشوند.
خروجي
براي هر حالت آزمايش، شماره حالت آزمون را در خروجي چاپ كنيد (همانطور كه در جواب نمونه آورده شده). اگر گردآوري دوباره دانهها غيرممكن بود، جمله تعدادي از دانهها احتمالا گم شده است را چاپ كنيد. در غير اين صورت N خط كه هر كدام با تك دانهاي كه شرح داده شده براي 1 ? i ? N- 1 را چاپ كنيد.
دومين عدد int در هر خط بايد با اولين int خط بعدي يكي باشد. همچنين در آخرين خط عدد int دومي بايد با عدد int خط اول يكي باشد. (يك خط خالي بين دو حالت متوالي جوابهايتان چاپ كنيد.)
راههاي مختلفي براي حل اين مساله وجود دارد كه هر كدام از آنها از سوي شما قابل قبول خواهد بود.
نمونه ورودي
2
5
1 2
2 3
3 4
4 5
5 6
5
2 1
2 2
3 4
3 1
2 4
نمونه خروجي
Case #1
some beads may be lost
Case #2
2 1
1 3
3 4
4 2
2 2
اما روش حل مساله! براي حل اين مساله ممکن است راههاي مختلفي وجود داشته باشد ما يکي از راههاي موجود که با توجه به مسالهاي که سه هفته پيش مطرح کرديم (يعني مساله وزيران)، در همان مقاله توضيح داديم که براي حل مساله از روش پسگرد (BackTracking) استفاده کردهايم يعني عملي را انجام ميدهيم تا زماني که درست باشد، وقتي به يک جواب غلط رسيديم به حالت درست بعدي که در مرحله قبل وجود دارد بررسي ميکنيم، بسيار خب از همين روش براي حل اين مساله استفاده ميکنيم.
خب اول يک سري شرط را بررسي ميکنيم تا ببينيم اين مساله با دادههاي بيان شده در صورت مساله حل ميشود يا نه؟
اولين شرط اين است که چون گردنبد بهصورت حلقه است و اگر مهرهاي با رنگ آبي-قرمز به عنوان اولين مهره انتخاب شود بايد حداقل يک مهره وجود داشته باشد که بهصورت قرمز-* باشد، يعني حداقل مهرهاي وجود داشته باشد که با رنگ قرمز شروع شود (مهرهها بهصورت يک زوج مرتب هستند)، همانطور که در روش پسگرد توضيح داده شده است، اول بايد يک درخت رسم کنيم، ريشه درخت يکي از مهرههاي ماست که يک زوج مرتب است که بهصورت «Tuple«int,int تعريف شده، در سطح بعدي بايد مهرههايي انتخاب شوند که در شرط زير صادق باشند:
if (tuple1.Item2 == tuple2.Item1)
يعني اگر مهره آبي-قرمز انتخاب شود بايد مهرههايي انتخاب شوند که بهصورت قرمز-* باشند، بعد از اين مرحله يکسري مهره ميماند يکي از آنها انتخاب ميشود که بهصورت قرمز-سبز است، از باقي مهرهها مهرهايي انتخاب ميشوند که بصورت سبز-* باشند اين عمل را تا زماني انجام ميدهيم که تمام مهرهها تمام شود، و اگر مهرهها تمام شد و گردنبند درست شد، به جواب درست رسيدهايم و مهرهها را بهترتيب در خروجي چاپ ميکنيم (همانطور که در صورت سوال توضيح داده شدهاست).
اميربهاالدين سبطالشيخ
نويسنده: admin
تعداد بازديد اين مطلب: 3552
تاريخ ارسال: پنجشنبه 7 مرداد 1389
گلچـــين
مطالب مرتبط ديگر
آوای دشتی - آثار مسعود بختیاری، ملک مسعودی، کوروش اسد پور، فایز دشتی، سهیلی، عباس مفتاح، رضا صالحی
مجموعه كامل آثار مستربین (Mr Bean)
کاملترین مجموعه ترمیم, روتوش و بازسازی عکس
با دیدن این مجموعه زندگی خود را دگرگون سازید
کتاب تاریخ کامل ، نوشته غرالدین ابن اثیر
كارتون پسر شجاع
مجموعه ای از 101 شاهکار فیلم ایرانی
آموزش ساختن گل شیشه ای
آموزش آشپزی شیرینی و دسر و سالاد
مجموعه کامل برترین شعبده بازان جهان
مجموعه 4000 کتاب یکجا بردار ببر !!
بازی فوق العاده و بسیار پر طرفدار Splinter Cell 2010
اگر به حل جدول علاقه دارید کلیک کنید
انسانهای عجیب و غریب(حتما ببینید)
مجموعه برنامه گوشی های سامسونگ
نرم افزار های مخصوص موتورولا
مجموعه بی نظیر طراحی دکوراسیون منزل
يك ساعت فوق العاده شيك و جديد اسپرت (ساعت LED)
راه های افزایش قد + حرکات جادویی
نرم افزار جدید و فوق العاده جذاب چهره نگارخداوند شما را به دشمنی با شیطان فرا خواند و فرمود: «ان الشیطان لکم عدو فاتخذوه عدوا» «شیطان دشمن شماست. او را به دشمنی برگزینید» شما در حرف با شیطان مخالفت و دشمنی کردید ...
ادامه مطلب...
ادامه مطلب...
چت روم سايت
عکس روزانه
عکس هایی دیدنی از باغ وحش میمون ها واقع در پنانگ
عکسهایی از خرس های عروسکی دوست داشتنی
عکسهایی از ۱۰ شهرستان گمشده جهان
عكسهايي بي نظير و ديدني از برترينهاي عكاسي چهره
سئوالات جالب يك امتحان انشاء در مدرسه راهنمايي
سقوط یک BMW 335i به دره+ تصاویر
عکسهای ماهواره ای از شهر رشت
عکس های جالب از نمای نزدیک و دور
عکس های بسیار زیبا از طبیعت رویایی
عکس های جدید و زیبای فانتزی
عکسهایی از صندوق پستی های جالب و خنده دار
عکسهای دیدنی از نقاشی بر روی ماشین های کثیف
عکس: تمرین تیم فوتبال کوتاه قامتان
عکس: خاله بازی با اوران اوتان
عکس های دیدنی از رونالدو و پسرش
عکسهای آسماني از زمين
عکس های بامزه کودکان
عکس: عنکبوت پرنده خوار
عکسهای دیدنی: شكار يك گنجشك توسط قورباغه
نقاشی های زیبا از Lucia Sartoاخبار لحظه به لحظه ايران و جهان
عــکس روز
ابر برچسب های سایت:
ابر واژه های سایت
عکس های شهرام حقیقت دوست
, شهین خلیلی
, نصب برنامه بدون نیاز به ساین
, مدل نان
, فرزانه کابلی
, mobile framware
, پژو 206
, جوک جدید
, شبکه استانها
, تلویزیونهای ال سی دی پاناسونیک
, موزیک ویدئو اذری
, مرا ببخش
, آموزش انگلیسی
, کامبیز دیرباز
, عکس های داغ روز
, LG
, تصاویر کمیاب از اوباما
, فتحعلی اویسی
, عمل افتادگی پوست
, صور نیسان بترول
, منجيل
, کاهش يادگيري
, PVC
, هیوندای سوناتا
, دانلود پروژه خرید و انبار داری
, learn php
, لیدا عباسی
, آبشار زیبا
, dvd
, فال قهوه














