حکیم ابولقاسم فردوسی: «یکی مرد جنگی به از صد نفر»
در نقشههای نظامی، هر سرباز یک نقطه در صفحه با مختصات صحیح $(x,y)$ است. افراد سپاه به تعدادی جوخه افراز شدهاند و هر سرباز دقیقا عضو یک جوخه است. هر جوخه شامل چهار سرباز با مختصههای $(x,y)$، $(x+1,y)$، $(x,y+1)$ و $(x+1 , y+1)$ است و سربازی که مختصات $(x,y)$ دارد، سرجوخه نامیده میشود. بدیهی است در هیچ نقطهای دو سرباز وجود ندارند.
هر دو سربازی که مولفهی $x$ و یا $y$ یکسان دارند باهم در تماس بیسیم هستند. در یک عملیات نظامی میخواهیم افراد سپاه را به تعدادی لشکر تقسیم کنیم. در اصطلاح به این عمل لشکرکشی میگوییم. در این کار ممکن است افراد یک جوخه به لشکرهای مختلفی فرستاده شوند. هر لشکر دقیقا $X$ سرباز دارد و افراد یک لشکر باید بتوانند مستقیما یا از طریق دیگر سربازان لشکر خود، با هم در ارتباط بیسیم باشند. در واقع افراد یک لشکر باید با استفاده از بیسیم، مولفهای همبند تشکیل دهند.
برنامهای بنویسید که:
در سطر اول به ترتیب دو عدد $n$ و $X$ قرار دارند.($1\leq n \leq 40000$ و مولفههای $x$ و $y$ هر سرباز در تایپ int
قابل ذخیره هستند)
در سطر دوم تا $n+1$ام، در هر سطر مختصات یکی از $n$ سرجوخه قرار دارد.
Yes
را چاپ کنید. پس از آن، در هر سطر، $X$ زوج مختصات چاپ کنید که هر کدام نشاندهندهی یک سرباز است. دقت کنید که این عددها را با فاصله از هم جدا کنید.No
چاپ کنید.ورودی نمونه | خروجی نمونه |
---|---|
3 3 1 1 3 1 2 3 | Yes 1 1 1 2 3 2 2 3 3 3 2 4 3 1 3 4 4 1 4 2 2 2 2 1 |
1 2 1 1 | Yes 2 1 2 2 1 2 1 1 |