آزمون ورودی طرح کارآموزی سه ماهه شرکت عامر اندیش

نقطه بازی ۱


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت

نقطه بازی ۱

اگر تصویر زیر برایتان آشناست حتما نقطه بازی کرده‌اید.

توضیح تصویر

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

تعداد بازیکن‌ها می‌توانند بیش از دو نفر باشند ولی در این مساله همیشه تعداد بازیکن‌ها دو نفر است.

بازی‌های زیادی انجام شده و ما فقط داده‌های خام این بازی‌ها را به شکل لیستی از اعداد در اختیار داریم و می‌خواهیم بدانیم بازی‌ها در صفحه‌ای با چه اندازه‌ای بازی شده‌اند.

نقطه‌ها در صفحه بازی به صورت سطر به سطر شماره‌گذاری می‌شوند و که در زیر شماره‌گذاری یک صفحه با ۳ سطر و ۴ ستون را مشاهده می‌کنید.

0    1    2
3    4    5
6    7    8
9    10   11
Plain text

یا یک صفحه با ۳ سطر و ۴ ستون به شکل زیر شماره‌گذاری شده‌اند:

0    1    2    3
4    5    6    7
8    9    10   11
Plain text

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

نمونه بازی انجام شده🔗

فرض کنید در یک صفحه با ۳ سطر و ۴ ستون دو بازیکن به ترتیب زیر بازی کرده‌اند:

۱. بازیکن اول:

0----1    2

3    4    5

6    7    8

9    10   11
Plain text

۲. بازیکن دوم:

0----1    2
|
3    4    5

6    7    8

9    10   11
Plain text

۳. بازیکن اول:

0----1    2
|
3----4    5

6    7    8

9    10   11
Plain text

۴. بازیکن دوم:

0----1    2
|    |
3----4    5

6    7    8

9    10   11
Plain text

۵. بازیکن دوم (جایزه):

0----1    2
|    |
3----4    5
     |
6    7    8

9    10   11
Plain text

داده‌های خامی که ما از این بازی بعد از ۵ نوبت بازی در اختیار داریم به شکل زیر است:

1-2,0-3,4-3,1-4,4-7
Plain text

حال باید برنامه‌ای بنویسید که با دریافت داده‌های خام هر بازی، ابعاد کوچکترین صفحه بازی که این بازی در آن قابل انجام است را پیدا کند و در خروجی بنویسد.

ورودی🔗

ورودی از n+1 خط تشکیل شده است، خط اول n است و n خط بعدی، هر یک داده‌های خام یک بازی است. هر نوبت با دو عددی که با خط تیره از هم جدا شده‌اند نشان داده شده است و نوبت‌ها با ویرگول از هم‌دیگر جدا شده‌اند.

1n10001 \le n \le 1000

تعداد سطرها و ستون‌ها در محدوده زیر است: 3rows123 \le rows \le 12 3cols123 \le cols \le 12

مثال🔗

فرض کنید که در نوبت اول نقطه ۰ به نقطه ۱ وصل شده باشد و در نوبت بعدی نقطه ۴ به نقطه ۷ وصل شده باشد. آن‌گاه ورودی به شکل زیر است.

1
0-1,4-7
Plain text

خروجی🔗

خروجی برنامه‌ی شما باید شامل n خط باشد که هر خط از دو عدد تشکیل شده است که با ویرگول از هم جدا شده‌اند. عدد اول تعداد سطرهای صفحه بازی و عدد دوم تعداد ستون‌های صفحه بازی است.

مثال🔗

پاسخ مثالی که در قسمت بالا آورده شده است، ۳ سطر و ۳ ستون است. پس در خروجی خط زیر باید نوشته شود.

3,3
Plain text

ورودی نمونه ۱🔗

2
1-2,0-3,4-3,1-4,4-7
2-1,15-22,24-23,23-22,11-10,18-25,6-5,19-26,12-5,23-16,0-7,9-8,10-9,3-2,11-18,7-8
Plain text

خروجی نمونه ۱🔗

3,3
4,7
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.