QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#22337. משבר בחווה

Statistics

Farmer John ועדר הפרות הרוקדות האקזוטיות מתאמנים למחזמר החדש ״פרת הרחוב ושמה תשוקה״. במהלך החזרה הן נערמות ב-$N$ $(1 \le N \le 1,000)$ ערמות של 30, אחת על גב השנייה (פרות מדהימות). יש גם $M$ $(1 \le M \le 1,000)$ ערמות חציר במיקומים אחרים. דוגמה: C ערמת 30 פרות, H חציר.

                8 .........
                7 ....CH.H.         C = stack of 30 cows
                6 .........
                5 .........         H = haystack
                4 ..C.HH...
                3 .........
                2 .....C.HH
                1 .........
                  123456789

כמנצח ל-FJ ארבע משרוקיות בטונים שונים. הן מורות לתחתונה בכל ערמה יחד עם כולן מעליה לזוז יחידה לצפון, דרום, מזרח או מערב בהתאמה.

בכל כניסה לתא עם חציר, העליונה אפילו אם היחידה קופצת לחציר והאחרות נכנסות לאותו תא. אחרי 30 מפגשים, עם חציר שונה או חוזר, הערמה נגמרת וכל הפרות על חציר או פרות על חציר. כל ערמת חציר איתנה נושאת פרות ללא גבול.

FJ מביט מעבר למרעה למחלבה של Farmer Don ולחרדתו רואה מכל ענק מתפוצץ וגל חלב מתקדם לרוקדות! על החציר בטוח. עליו להציל כמה שיותר ולהפוך ריקוד פשוט לטכניקת הצלה.

נתונים $K$ $(1 \le K \le 30)$ שריקות לפני הגל ומיקומי $X_{i}$, $Y_{i}$ $(1 \le X_{i} \le 1,000; 1 \le Y_{i} \le 1,000)$ של $N$ ערמות פרות ו-$M$ ערמות חציר שעדיין אין עליהן פרות. מצאו מספר מרבי ורצף שריקות. E מזרח, N צפון, W מערב, S דרום; מבין האופטימליים הקטן לקסיקוגרפית. מיקומי הפרות והחציר ההתחלתיים אינם חופפים בקלט.

אפשר ללכת לכל מקום, גם מחוץ למרעה.

קלט

  • שורה 1: שלמים $N$, $M$, $K$ ברווחים.
  • שורות $2,\ldots,N+1$: שורה $i+1$ נותנת מיקום $X$,$Y$ של ערמת 30 פרות בשני שלמים ברווח $X_{i}$ ו-$Y_{i}$.
  • שורות $N+2,\ldots,N+M+1$: שורה $i+N+1$ נותנת מיקום $X$,$Y$ של חציר בשני שלמים ברווח $X_{i}$ ו-$Y_{i}$.

פלט

  • שורה 1: שלם, מספר הפרות המרבי להצלה.
  • שורה 2: $K$ תווים, הרצף האופטימלי הקטן לקסיקוגרפית.

דוגמאות

קלט 1

3 6 3
3 4
6 2
5 7
8 2
9 2
6 4
5 4
6 7
8 7

פלט 1

6
EEE

הערה

שרקו מזרח שלוש פעמים ואז החלב מציף. כל ערמת חציר מצילה פרה.

מחבר: Thomas Williamson, 2004

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.