Universal Cup Judging System

Universal Cup

Limite de temps : 2 s Limite de mémoire : 1024 MB
Statistiques

VegiCat이 두 정수 $n$과 $m$을 줍니다. 다음 조건을 만족하는 정수 배열 $a_1, a_2, \ldots, a_n$을 생각해 봅시다:

$$ a_1 = 0, \qquad 0 \le a_{i+1} - a_i \le 1 \quad (1 \le i < n). $$

$s_i = a_1 + a_2 + \ldots + a_i$를 $a$의 누적 합이라고 합시다. VegiCat은 또한 $m$개의 위치에서의 누적 합을 알려줍니다. 즉, $s_{p_j} = v_j$ ($1 \le j \le m$) 형태의 제약 조건이 $m$개 주어집니다.

problem_23594_7f47c20ec05f2c7c4e4e59a950db89af.png

모든 제약 조건을 만족하는 배열의 개수를 $998\,244\,353$으로 나눈 나머지를 구하세요. 모든 제약 조건을 만족하는 배열이 없다면 답은 $0$입니다.

입력

첫째 줄에 테스트 케이스의 개수를 나타내는 정수 $T$ ($1 \le T \le 10^4$)가 주어집니다. 이어서 테스트 케이스에 대한 설명이 주어집니다.

각 테스트 케이스는 다음과 같이 주어집니다:

첫째 줄에 배열의 길이와 누적 합 제약 조건의 개수를 각각 나타내는 두 정수 $n$과 $m$ ($1 \le n \le 100$, $0 \le m \le n$)이 주어집니다.

다음 $m$개의 줄 중 $j$번째 줄에는 두 정수 $p_j$와 $v_j$ ($1 \le p_j \le n$, $0 \le v_j \le 10^9$)가 주어집니다. 이는 배열의 처음 $p_j$개 원소의 합이 $v_j$와 같아야 한다는 제약 조건을 나타냅니다.

위치 $p_j$는 엄격하게 증가하는 순서로 주어집니다.

출력

각 테스트 케이스마다 유효한 배열의 개수를 $998\,244\,353$으로 나눈 나머지를 나타내는 정수를 출력합니다.

예제

입력 1

6
1 0
3 1
3 1
3 1
2 0
4 1
4 3
5 2
1 0
5 4
5 2
2 0
5 10

출력 1

1
1
2
2
2
0

참고

누적 합 제약 조건이 전혀 없다면, $n - 1$개의 인접한 차이 각각이 독립적으로 $0$ 또는 $1$이 될 수 있으므로 정확히 $2^{n-1}$개의 배열이 존재합니다.

두 번째 테스트 케이스에서 $s_3 = 1$을 만족하는 유일한 배열은 $(0, 0, 1)$입니다.

세 번째 테스트 케이스에서 $s_2 = 0$ 때문에 $a_2 = 0$이 강제되며, 그 후 $a_3$은 $0$ 또는 $1$이 될 수 있습니다.

네 번째 테스트 케이스에서 조건을 만족하는 배열은 $(0, 1, 1, 1)$과 $(0, 0, 1, 2)$입니다.

다섯 번째 테스트 케이스에서 $s_5 = 4$를 만족하는 배열은 $(0, 0, 1, 1, 2)$와 $(0, 1, 1, 1, 1)$입니다.

여섯 번째 테스트 케이스에서 $s_2 = 0$ 때문에 $a_1 = a_2 = 0$이 강제되므로 $s_5 \le 6$입니다. 따라서 $s_5 = 10$이라는 제약 조건은 불가능합니다.

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.