Challenger

المپیاد کامپیوتر , الگوریتم , برنامه نویسی , ترکیبیات , گراف , ....

Challenger

المپیاد کامپیوتر , الگوریتم , برنامه نویسی , ترکیبیات , گراف , ....

Challenger
طبقه بندی موضوعی
پیوندهای روزانه

پاسخ - SGU 101

سه شنبه, ۲۲ فروردين ۱۳۹۱، ۰۴:۲۲ ب.ظ

متن اصلی سوال : http://acm.sgu.ru/problem.php?contest=0&problem=101

ترجمه متن سوال :

تعدادی مستطیل 1*2 داریم (دمینو) که در هر خانه آن یک عدد نوشته شده . می خواهیم این دمینو ها را جوری کنار هم بچینیم که خانه های مجاور دمینو های مختلف یک عدد داشته باشند .

1- مجاز به چرخاندن دمینو ها هم هستیم

2- عدد های رو دمینو ها از 0 تا 6 هستند .

وظیفه ما این است که جوری دمینو ها را در یک خط کنار هم بچینیم که هز دو دمینوی مجاور عدد های برابری داشته باشند ...

ورودی :

در خط اول ورودی N ، تعداد دمینو ها داده می شود

ور در N خط بعدی عدد ها ی نوشته شده روی دومینو ها به ترتیب می آید (در خط i+1 عدد های دمینوی iام می آید)

خروجی :

در صورتی که این کار غیر ممکن بود بود “No solution”را چاپ کنید در غیر این صورت شماره ی دمینو ها را به ترتیب مناسب بیان کنید و اگر دمینوایی را نچرخانده بودید "+" ور غیر این صورت "-" را چاپ کنید .

 

مثال(مهم) :

ورودی نمونه :

5
1 2
2 4
2 4
6 4
2 1

خروجی نمونه :

2 - 5 + 1 + 3 + 4 -

 

 




شرح راه حل : با بهره گیری از الگوریتم تور اویلری (Eulerian trail) سوال را حل می کنیم ...


کد ++C


 

موافقین ۵ مخالفین ۱ ۹۱/۰۱/۲۲
محمد مهدی جهان آرا

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی