المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۹:عملی:سوال ۱۱

قهرمانان

در مانوری که در یک صفحه‌ی شطرنجی با ابعاد نامتناهی برگزار می‌شود، $n$ لشکر حضور دارند. در ابتدا هر لشکر شامل تعداد مشخصی سرباز است که در یک صف افقی یا عمودی با جهت مشخصی ایستاده‌اند. هر سرباز در هر لحظه در یک خانه از صفحه مستقر است و در ابتدا همه‌ی سربازان یک لشکر، در یک امتداد و جهت مشترک هستند و چند خانه‌ی متوالی از یک ردیف افقی یا عمودی صفحه را اشغال می‌کنند. پس از هر فرمان فرمانده مانور، هر سربازی که بین او و سرباز خودی پشت‌سری‌اش (در صورت وجود)، خانه‌ی خالی فاصله نباشد، در جهت خود یک خانه به جلو می‌رود. در صورت ورود چند سرباز به یک خانه (که به وضوح از لشکرهای متفاوت خواهند بود) همه‌ی آن‌ها در همان لحظه خانه را به تسخیر لشکر خود درمی‌آورند. هر سرباز که خانه‌ای را تسخیر کند که قبلا به تسخیر لشکرش در نیامده است، قهرمان محسوب شده و از مانور خارج می‌شود.

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

ورودي

در سطر اول فایل ورودی مقدار $n$ و در $n$ سطر بعد، در هر سطر چهار عدد صحیح $x_2،y_1،x_1$ و $y_2$ آمده است. $(x_1,y_1)$ مختصات اولیه‌ی جلوترین سرباز لشکر و $(x_2,y_2)$ مختصات اولیه‌ی عقب‌ترین سرباز لشکر است. توجه دارید که جهت حرکت لشکر و نیز جلوترین و عقب‌ترین سرباز لشکر با توجه به جهت استقرا سربازان مشخص می‌شود.

خروجي

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

فرض کنید همه‌ي ورودی‌ها و همه‌ی خروجی‌های برنامه، اعداد صحیح نامنفی کم‌تر از ۵۰ هستند و هیچ دو سربازی روی یک خانه نیستند.

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

ورودي نمونه خروجي نمونه
4
2 3 2 1
3 4 0 4
3 3 3 1
5 6 5 2
4
1 2 4
2 2 4
2 3 4
3 3 4

ابزار صفحه