لینک‌های مفید برای شرکت در مسابقه:

در قسمت آموزشی برای حل سوالات، سه سری راهنمایی به انتهای سوالات اضافه می‌شود. زمان اضافه شدن راهنمایی‌ها را می‌توانید در قسمت آموزشی پایین سوالات ببینید.‌ همچنین می‌توانید سوال‌های خود را از بخش "سوال بپرسید" مطرح کنید.

خط شکسته


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

امین یک جدول n×mn \times m دارد که هر خانه‌ی آن یکی از کاراکتر‌های .، /، \ یا _ است. هر کاراکتر از این جدول نشان دهنده وضعیت یک خانه 1×11 \times 1 (یا همان مربع واحد) متناظر آن در صفحه است. این جدول در نهایت، یک خط شکسته را نمایش می‌دهد.

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

کاراکتر _ نشان می‌دهد خط شکسته حاوی ضلع پایینی مربع واحد متناظر با این خانه از جدول است: توضیح تصویر

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

کاراکتر \ نشان می‌دهد خط شکسته حاوی قطر اصلی مربع واحد متناظر با این خانه از جدول است: توضیح تصویر

تضمین می‌شود شکل بدست آمده یک خط شکسته پیوسته است که سمت چپ صفحه را به سمت راست صفحه n×mn \times m متصل می‌کند؛ در واقع صفحه n×mn \times m را به دو قسمت بالایی و پایینی تقسیم می‌کند.

امین می‌خواهد مساحت قسمت پایین ایجاد شده توسط این خط شکسته را محاسبه کند. به او کمک کنید تا این کار را انجام دهد.

ورودی🔗

در سطر اول ورودی یک عدد طبیعی tt آمده که نشان دهنده تعداد مثال‌هایی است که داده می‌شود.

برای هر مثال در سطر اول دو عدد طبیعی nn و mm با فاصله از هم آمده که نشان دهنده ابعاد جدول است. 1n,m1001 \le n, m \le 100 در nn سطر بعدی در هر سطر دقیقاً mm کاراکتر آمده که هر کدام از این کاراکتر‌ها برابر .، /، \ یا _خواهد بود.

تضمین می‌شود ورودی داده شده جدول یک خط شکسته پیوسته است که از سمت چپ جدول شروع شده و به سمت راست جدول ختم می‌شود و در هر ستون دقیقا یک کاراکتر غیر . دارد.

تضمین می‌شود اندازه جدول‌های این tt مثال از 10 00010\ 000 بیشتر نخواهد بود.

خروجی🔗

خروجی برنامه شما tt سطر دارد که در سطر iiام آن مساحت زیر نمودار شکل iiام را با دقت ۳ رقم بعد از اعشار چاپ کنید.

مثال🔗

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

3
3 3
___
...
...
1 1
\
3 5
../\.
_/..\
.....
Plain text

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

6.000
0.500
9.000
Plain text

شکل‌ مربوط به خط شکسته اول توضیح تصویر

شکل‌ مربوط به خط شکسته سوم توضیح تصویر

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

1
6 20
....................
../\................
_/..\.........../\..
.....\........./..\_
......\__...../.....
.........\___/......
Plain text

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

41.500
Plain text

شکل‌ مربوط به خط شکسته داده شده توضیح تصویر

قسمت آموزشی🔗

در این قسمت راهنمایی‌های سوال، به مرور اضافه می‌شود. مشکلات‌تان در راستای حل سوال را می‌توانید از بخش "سوال بپرسید" مطرح کنید.

راهنمایی ۱

اگر مساحت ایجاد شده توسط خط شکسته را برای یک ستون محاسبه کنید می‌توانید پاسخ مسئله را بدست آورید. (چرا؟)

راهنمایی ۲

با توجه به کاراکتری که در هر ستون وجود دارد؛ باید مساحت یک ذوزنقه یا مستطیل را محاسبه کنیم.

راهنمایی ۳

شبه کد حل سوال را می‌توانید مشاهده کنید:

area = 0.0
for column from 1 to m:
    for row from 1 to n:
        if row != '.':
            area += (n - 1 - row)
            if row != '_':
                area += 0.5
print area
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.