المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی انتخاب تیم:دوره ی ۴:سوال ۱۰

ماتریس زشت

ماتریسی با $n$‌سطر و $m$ ستون داده شده است. هر یک از اعداد ۱ تا $m$ را در $n$‌درایه‌ی خالی این ماتریس که به صورت تصادفی انتخاب می‌کنیم. در انتها یک ماتریس «زشت» ایجاد می‌شود که در آن از هر عدد ۱ تا $m$، $n$‌بار تکرار شده است. اجازه داریم که اعداد واقع در هر ستون را به طور دل‌خواه جابه‌جا کنیم. می‌خواهیم این کار را برای کلیه‌ی ستون‌ها طوری انجام دهیم که هر سطر شامل جایگشتی از از اعداد ۱ تا $m$ باشد. می‌توان ثابت کرد که این کار همواره ممکن است.

برنامه‌ای بنویسید که با دریافت ماتریس ورودی، این جابه‌جایی‌ها را انجام داده و ماتریس حاصل را در خروجی بنویسید.

ورودي

در سطر اول فایل ورودی به ترتیب اعداد $n$ و $m$، در سطر $i$ ام از $n$‌سطر بعدی، درایه‌های سطر $i$‌ام ماتریس به ترتیب آمده است. فرض کنید $m$ و $n$ عددهایی کم‌تر از ۱۰۰ هستند.

خروجي

در فایل خروجی ماتریس حاصل را به همان ترتیب ماتریس ورودی بنویسید.

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

ورودي نمونه خروجي نمونه
3 4
1 4 4 4
2 3 2 3
3 2 1 1
‎3 4
1 2 4 3
2 3 1 4
3 4 2 1‎

ابزار صفحه