QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 1024 MB Points totaux : 100

#23928. التعبئة اللونية

Statistiques

وصف المسألة

يلعب JOI-kun ببرنامج للرسم.

في برنامج الرسم، يمكن رسم لوحة على شبكة مستطيلة مكونة من $H$ صفوف عمودياً و$W$ أعمدة أفقياً. لكل خلية لون محدد، وتُمثَّل الألوان بأعداد صحيحة بين $1$ و$10^9$ شاملاً طرفي المجال.

تُسمى الخلية الواقعة في الصف $i$ من الأعلى ($1 \le i \le H$) والعمود $j$ من اليسار ($1 \le j \le W$) بالخلية $(i,j)$. حالياً، لون الخلية $(i,j)$ هو $A_{i,j}$.

مجموعة الخلايا التي يمكن الوصول إليها من الخلية $(i,j)$ عن طريق الانتقال المتكرر إلى خلية مجاورة لها بالضلع دون الدخول إلى أي خلية يختلف لونها عن لون الخلية $(i,j)$ تُسمى هنا منطقة الخلية $(i,j)$.

يحتوي برنامج الرسم على ميزة تُسمى التعبئة اللونية (Flood Fill). في هذه الميزة، عند تحديد خلية معينة $(x,y)$ ($1 \le x \le H$، $1 \le y \le W$) ولون $c$ ($1 \le c \le 10^9$)، يتغير لون جميع الخلايا الموجودة في منطقة الخلية $(x,y)$ إلى $c$.

يختار JOI-kun خلية معينة $(x,y)$ ولوناً $c$، ويستخدم التعبئة اللونية بتحديد تلك الخلية وذلك اللون مرة $1$ بالضبط. عدد الخلايا الموجودة في منطقة الخلية $(x,y)$ بعد استخدام التعبئة اللونية سيكون هو نقاط JOI-kun.

اكتب برنامجاً لإيجاد أقصى عدد ممكن من النقاط التي يمكن أن يحققها JOI-kun.

الإدخال

يُعطى الإدخال بالصيغة التالية:

H W
A_{1,1} A_{1,2} \ldots A_{1,W}
A_{2,1} A_{2,2} \ldots A_{2,W}
:
A_{H,1} A_{H,2} \ldots A_{H,W}

الإخراج

اطبع في سطر $1$ أقصى عدد ممكن من النقاط التي يمكن أن يحققها JOI-kun.

القيود

  • $1 \le H \le 500$.
  • $1 \le W \le 500$.
  • $1 \le A_{i,j} \le 10^9$ ($1 \le i \le H$، $1 \le j \le W$).
  • جميع قيم الإدخال هي أعداد صحيحة.

المهام الفرعية

  1. ($9$ نقاط) $H = 1$.
  2. ($32$ نقطة) $H \le 30$، $W \le 30$، $A_{i,j} \le 5$ ($1 \le i \le H$، $1 \le j \le W$).
  3. ($18$ نقطة) $H \le 30$، $W \le 30$.
  4. ($10$ نقاط) $A_{i,j} \le 2$ ($1 \le i \le H$، $1 \le j \le W$).
  5. ($31$ نقطة) لا توجد قيود إضافية.

أمثلة

مثال الإدخال 1

4 4
1 2 3 1
2 2 3 1
1 2 3 1
3 3 2 2

مثال الإخراج 1

9

في البداية، توجد $4$ خلايا في منطقة الخلية $(2,2)$، وهي الخلايا $(1,2), (2,1), (2,2), (3,2)$. لذلك، إذا تم استخدام التعبئة اللونية بتحديد الخلية $(2,2)$ واللون $3$، يتغير لون هذه الخلايا الـ $4$ إلى $3$ كما هو موضح في الشكل أدناه.

problem_23928_f670918b4b8047ebeaf9bad79de947bd.png

بعد استخدام التعبئة اللونية، يصبح عدد الخلايا الموجودة في منطقة الخلية $(2,2)$ هو $9$ خلايا، وهي الخلايا $(1,2), (1,3), (2,1), (2,2), (2,3), (3,2), (3,3), (4,1), (4,2)$. وبالتالي، تصبح نقاط JOI-kun هي $9$.

بما أنه لا يمكن جعل نقاط JOI-kun تساوي $10$ أو أكثر، نطبع $9$.

يحقق هذا الإدخال قيود المهام الفرعية $2, 3, 5$.


مثال الإدخال 2

2 10
1 2 2 1 3 3 3 3 1 1
1 1 1 1 1 1 1 3 3 3

مثال الإخراج 2

18

يحقق هذا الإدخال قيود المهام الفرعية $2, 3, 5$.


مثال الإدخال 3

5 5
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

مثال الإخراج 3

25

يحقق هذا الإدخال قيود المهام الفرعية $2, 3, 4, 5$.

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.