QOJ.ac

QOJ

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

#23814. المعكرونة

Statistics

أنت تحب المعكرونة كثيراً، وتقوم بطهيها وتناولها على العشاء كل يوم. يمكنك تحضير $3$ أنواع من المعكرونة: بصلصة الطماطم، وبصلصة الكريمة، وبصلصة الريحان.

قررت وضع جدول لوجبات العشاء لمدة $N$ يوماً. في كل يوم، تختار نوعاً $1$ من بين الـ $3$ أنواع من المعكرونة. ومع ذلك، نظراً لأنك ستمل إذا تناولت نفس المعكرونة بشكل متتالي، فلا يجوز لك اختيار نفس المعكرونة لمدة $3$ أيام متتالية أو أكثر. بالإضافة إلى ذلك، تم بالفعل تحديد نوع المعكرونة لعدد $K$ من الأيام من أصل $N$ يوماً.

بمعلومية قيمة $N$ ومعلومات المعكرونة لـ $K$ من الأيام، اكتب برنامجاً لإيجاد باقي قسمة عدد الجداول التي تحقق الشروط على $10000$.

الإدخال

يتكون الإدخال من $K + 1$ سطراً.

يحتوي السطر $1$ على عددين صحيحين $2$ هما $N, K$ ($3 \le N \le 100$, $1 \le K \le N$) مفصولين بمسافة.

يحتوي السطر $(1 + i)$ ($1 \le i \le K$) على عددين صحيحين $2$ هما $A_i, B_i$ ($1 \le A_i \le N$, $1 \le B_i \le 3$) مفصولين بمسافة. هذا يعني أن معكرونة اليوم $A_i$ قد تم تحديدها بالفعل: عندما يكون $B_i = 1$ فهي بصلصة الطماطم، وعندما يكون $B_i = 2$ فهي بصلصة الكريمة، وعندما يكون $B_i = 3$ فهي بصلصة الريحان. جميع قيم $A_i$ ($1 \le i \le K$) مختلفة. في بيانات الإدخال المعطاة، من المضمون وجود جدول $1$ على الأقل يحقق الشروط.

الإخراج

اطبع في سطر واحد باقي قسمة عدد الجداول التي تحقق الشروط على $10000$.

أمثلة الإدخال والإخراج

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

5 3
3 1
1 1
4 2

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

6

في المثال $1$، تفكر في جدول لمدة $5$ أيام. اليوم $1$ واليوم $3$ بصلصة الطماطم، واليوم $4$ بصلصة الكريمة. كما لا يجوز اختيار نفس المعكرونة لمدة $3$ أيام متتالية أو أكثر. توجد $6$ جداول تحقق هذه الشروط.

اليوم 1 اليوم 2 اليوم 3 اليوم 4 اليوم 5
الجدول 1 1 2 1 2 1
الجدول 2 1 2 1 2 2
الجدول 3 1 2 1 2 3
الجدول 4 1 3 1 2 1
الجدول 5 1 3 1 2 2
الجدول 6 1 3 1 2 3

في هذا الجدول، يمثل $1$ صلصة الطماطم، ويمثل $2$ صلصة الكريمة، ويمثل $3$ صلصة الريحان.

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

20 5
10 2
4 3
12 1
13 2
9 1

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

2640

في المثال $2$، يوجد إجمالاً $4112640$ جدولاً يحقق الشروط. نطبع $2640$، وهو باقي القسمة على $10000$.

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.