ورود ثبت‌نام راهنما درباره‌ی کاهو
پرسش‌ها برچسب‌ها کاربر‌ها سوال بپرسید!

آمار پرسش:

  • پرسیده شده: 2014-08-23 11:26:36 -0500
  • مشاهده شده: 343 بار
  • بروز شده: 2014-08-24 14:34:07 -0500

پرسش‌های مشابه:

یه برنامه ریزی مناسب برای المپیاد کامپیوتر

فکر روی سوالات المپیادی از کتاب روش ترکیبیات جلد دوم آقای علیرضا علیپور

رتینگ در codeforces و سوالات در حد دوره و مرحله 3

برنامه ی مثلث خیام پاسکال به کمک آرایه ها ؟

ساخت تستر در محیط ویندوز یا لینوکس

برای یادگیری برنامه نویسی پایتون از مبتدی تا پیشرفته از کجا شروع کنم

نکاتی در مورد نوشتن پاسخ:

در این قسمت می‌تونی به یک پرسش پاسخ بدی. اگه می‌خوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخ‌ها مفید هستند حتما بهشون رای بده تا پرسش‌ها و پاسخ‌های خوب مشخص بشن.

استفاده از ویرایشگر:

توی قسمت پیش‌نمایش می‌تونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
می‌تونی از تگ‌های معمولی و ساده‌ی html هم استفاده کنی.
با دکمه‌هایی که بالای ویرایش‌گر قرار دارند کلی کار می‌شه کرد. از عکس‌گذاشتن بگیر تا لیست شماره‌دار. حتما امتحان‌شون کن.

علائم ریاضی:

برای نوشتن علائم ریاضی می‌تونی از Mathjax استفاده کنی. راهنمای Mathjax رو از سایت math.stackexchange بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.

سوال برنامه نویسی : چیدن دومینو های عدد دار در یک ردیف . دو وجه مجاورند اگر عدد یکسان داشته باشن .

1

سلام این سوال 101 اس جی یو هم هست من کدشو زدم ولی زمانش نگنجید داشت حالا یکی بگه چطوریه و این حرفا :

N تا دومینو داریم ( حداکثر 100 تا ) که روی هر یک دو تا عدد حسابی کمتر از 7 درج شده ( دومینو شامل دو تا خونه است ) . میخوایم این دومینو ها رو در یک ردیف بچینیم طوری که دو تا خونه که عدد نابرابر دارن مجاور نباشن. ( راستی میتونید دومینو ها رو بچرخونین یعنی عدد های روی اون جاشون رو با هم عوض کنن ) در نهایت آرایش مطلوب رو از شما میخوایم .

ورودی به این ترتیب داده میشه :

ابتدا عدد N و سپس در N سطر بعد در هر سطر دو عدد قرار داره که نمایانگر اعداد روی دومینو هاست

خروجی » دو حالت پیش میاد

اگر آرایش مطلوبی وجود نداشت که هیچی

اگر وجود داشت :

در واقع آرایش مطلوب رو داریم و میخوایم اونو نمایش بدیم . برای نمایش خروجی N سطر چاپ میشه که هر سطر دو تا مولفه داره »

در سطر i ام مولفه اول به معنی شماره i امین دومینو در آرایش مطلوبه . مولفه دوم هم یکی از دو کاراکتر + یا - هست که یعنی دومینو چرخونده نشده (+) یا چرخونده شده (-) . ( منظور از شماره دومینو ، ترتیب آن در ورودی است )

متن انگلیسی سوال به همراه مثال

برنامه دومینو
2014-08-23 11:26:36 -0500
سماق دو 1349 ● 7 ● 19 ● 37
پاک‌کردن   ویرایش سوال
نظرات

خیلی بد گفتی هیچی نفهمیدم

2014-08-23 13:41:39 -0500 ساز شاطر

متن انگلیسیشو بخون پس .

2014-08-23 13:46:54 -0500 سماق دو

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

2014-08-23 13:47:59 -0500 ساز شاطر

در ضمن سوال 101 ای سی ام خیلی سخته اول یرو 103 و 107 و 113 و همین ها که اکسپتاش زیاده رو بزن

2014-08-23 13:49:28 -0500 ساز شاطر

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

2014-08-23 13:52:37 -0500 سماق دو

1 پاسخ

2

کافیه یک گراف با ۶ راس، متناظر اعداد ۱ تا ۶ که روی هر نیمه هر دومینو ظاهر میشن، بسازین و به ازای هر دومینو یک یال بدون جهت بین راسهای متناظر دو نیمه اش بگذارید. مثلا اگر یک دومینو $(5,3)$ باشه یک یال بدون جهت بین راس ۵ و راس ۳ میگذاریم، و اگر $(5,5)$ باشه یک یال از راس ۵ به راس ۵ (یک حلقه). به این صورت گرافی به وجود میاد که بین بعضی زوج راسهاش، یا از راس به خودش، یک یا چند یال وجود داشته باشه.

حالا یک ترتیب درست چیدن دومینو ها متناظر با یک تور در این گراف هست، چرا که هر دومینو متناظر با یک یال هست، و در هر تور دو یال مجاور راس مشترکی دارند، که این راس مشترک متناظر عددی هست که در دو نیمه کنار هم قرار گرفته از دو دومینوی پشت سرهم تکرار شده. به همین ترتیب یک ترتیب درست از چیدن دومینو ها که شامل همه دومینوها بشه معادل یافتن یک تور در این گراف هست که همه یالها رو شامل بشه، یعنی یک تور اویلری!

پس میتونیم از همه الگوریتمهای مختلفی که برای پیدا کردن تور اویلری در گراف ارایه شدن استفاده کنیم که بر حسب تعداد راسها و یالها زمان اجراشون خطی هست، لذا حتی برای چند صد میلیون دومینو هم در کسری از ثانیه کار میکنند.

بیشتر بخوانیم

گرافی که به این ترتیب ساخته شد مشابه یک دسته از گرافها به نام «دو براین» De Bruijn است. میتونید در مورد این گرافها در کتابهای مقدماتی بر نظریه گراف، نوشته داگلاس وست، که توی ایران هم ترجمش منتشر شده، یا کتاب مشابهی نوشته باندی و مورتی بیشتر بخوانید، و یا این صفحه ویکی پدیا رو مطالعه کنید.

2014-08-24 14:34:07 -0500
کلاه قرمزی 3097 ● 21 ● 34 ● 57
پاک‌کردن   ویرایش پاسخ

پاسخ شما

فقط در صورتی که پاسخی برای این پرسش دارید، آن را اینجا بنویسید و برای بحث کردن از قسمت «ثبت‌ نظر» استفاده کنید. شما می‌توانید قبل از وارد شدن به سایت پاسخ خود را بنویسید. این پاسخ ذخیره می‌شود و زمانی که شما وارد سایت شدید یا ثبت‌نام کردید منتشر می‌شود.

پیش‌نمایش:

کلیه‌ی حقوق این سایت متعلق به کمیته‌ی ملی المپیاد کامپیوتر است.