فهرست مندرجات

Generous Kings

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

توجه کنید که برآورده کردن هر شرط مستقل از شرط دیگر امکان‌پذیر است.‎ شما باید برنامه‌ای بنویسید تا با گرفتن اطلاعات مربوط به کشور یوتپیا بررسی کند آیا تقسیمی وجود دارد که هر دو شرط را بر آورده کند؟‎

ورودی

خروجی

به ازای هر تست، در صورت قابل انجام بودن کار ‎YES‎ و در غیر این صورت ‎NO‎ چاپ نمایید.‎

محدودیت‌ها

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
2‎
3‎
1 1
‎1 2‎
‎1 3‎
3‎
2 1‎
1 2‎
1 3‎
1 3‎
No
YES

پاسخ

می توان مسئله را به صورت زیر شبیه‌سازی کرد‎:

گراف‌های ‎$G$‎ ، ‎$G_1$‎ و ‎$G_2$‎ و رئوس ‎$s$‎ و ‎$t$‎ طوری به ما داده شده که مجموعه رئوس ‎$G$‎ ، ‎$G_1$‎ و ‎$G_2$‎ برابرند و مجموعه یال‌های ‎$G$‎ برابرست با مجموع یال‌های ‎$G_1$‎ و ‎$G_2$‎. اگر برش کمینه میان رئوس ‎$s$‎ و ‎$t$‎ در گراف‌های ‎$G_1$‎ و ‎$G_2$‎ به ترتیب برابر با ‎$c_1$‎ و ‎$c_2$‎ باشد آیا برشی بین رئوس ‎$s$‎ و ‎$t$‎ در ‎$G$‎ وجود دارد که در آن حداکثر ‎$c_1$‎ یال از ‎$G_1$‎ و ‎$c_2$‎ یال از ‎$G_2$‎ وجود داشته باشد؟‎

فرض کنید اندازه این برش برابر باشد با ‎$c$‎. برای حل سوال باید سه حالت زیر را بررسی کرد:

  • ‎ $c \geq c_1+c_2+1$‎ : در این صوررت یا حداقل ‎$c_1+1$‎ یال از ‎$G_1$‎ در برش کمینه وجود دارد، یا حداقل ‎$c_2+1$‎ یال از ‎$G_2$‎، پس چنین برشی وجود ندارد.
  • ‎ $c \leq c_1+c_2-1$‎ : چنین حالتی امکان‌پذیر نیست، زیرا برش کمینه حداقل باید ‎$c_1$‎ یال از ‎$G_1$‎ و ‎$c_2$‎ یال از ‎$G_2$‎ داشته باشد.
  • $c = c_1‎ + ‎c_2$‎ : در این صورت برش به دست آمده همان برشی است که سوال خواسته.

پس کافیست سه مقدار ‎$c_1$‎ ، ‎$c_2$‎ و ‎$c_3$‎ را به‌دست آوریم و آن‌ها را مقایسه کنیم. این کار را می توان در زمان ‎${\cal O}(n‎ + ‎m^2)$‎ انجام داد.