307033: CF1290F. Making Shapes

Memory Limit:768 MB Time Limit:5 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Making Shapes

题意翻译

给定 $n$ 个向量。你需要按照如下方式画图: - 初始点在 $(0,0)$ - 选择一个向量,从当前点连向当前点加上这个向量得到的点 - 重复第二个操作,最后回到 $(0,0)$ 并停止。 这样你可以得到一个多边形,问有多少种画法使得得到一个凸多边形且最终的多边形可以被放到 $m\times m$ 的矩形里。输出答案对 $998244353$ 取模。 $n \le 5, m \le 10^9 , |x_i|,|y_i| \le 4$

题目描述

You are given $ n $ pairwise non-collinear two-dimensional vectors. You can make shapes in the two-dimensional plane with these vectors in the following fashion: 1. Start at the origin $ (0, 0) $ . 2. Choose a vector and add the segment of the vector to the current point. For example, if your current point is at $ (x, y) $ and you choose the vector $ (u, v) $ , draw a segment from your current point to the point at $ (x + u, y + v) $ and set your current point to $ (x + u, y + v) $ . 3. Repeat step 2 until you reach the origin again. You can reuse a vector as many times as you want. Count the number of different, non-degenerate (with an area greater than $ 0 $ ) and convex shapes made from applying the steps, such that the shape can be contained within a $ m \times m $ square. Since this number can be too large, you should calculate it by modulo $ 998244353 $ . Two shapes are considered the same if there exists some parallel translation of the first shape to another. A shape can be contained within a $ m \times m $ square if there exists some parallel translation of this shape so that every point $ (u, v) $ inside or on the border of the shape satisfies $ 0 \leq u, v \leq m $ .

输入输出格式

输入格式


The first line contains two integers $ n $ and $ m $ — the number of vectors and the size of the square ( $ 1 \leq n \leq 5 $ , $ 1 \leq m \leq 10^9 $ ). Each of the next $ n $ lines contains two integers $ x_i $ and $ y_i $ — the $ x $ -coordinate and $ y $ -coordinate of the $ i $ -th vector ( $ |x_i|, |y_i| \leq 4 $ , $ (x_i, y_i) \neq (0, 0) $ ). It is guaranteed, that no two vectors are parallel, so for any two indices $ i $ and $ j $ such that $ 1 \leq i < j \leq n $ , there is no real value $ k $ such that $ x_i \cdot k = x_j $ and $ y_i \cdot k = y_j $ .

输出格式


Output a single integer — the number of satisfiable shapes by modulo $ 998244353 $ .

输入输出样例

输入样例 #1

3 3
-1 0
1 1
0 -1

输出样例 #1

3

输入样例 #2

3 3
-1 0
2 2
0 -1

输出样例 #2

1

输入样例 #3

3 1776966
-1 0
3 3
0 -2

输出样例 #3

296161

输入样例 #4

4 15
-4 -4
-1 1
-1 -4
4 3

输出样例 #4

1

输入样例 #5

5 10
3 -4
4 -3
1 -3
2 -3
-3 -4

输出样例 #5

0

输入样例 #6

5 1000000000
-2 4
2 -3
0 -4
2 4
-1 -3

输出样例 #6

9248783

说明

The shapes for the first sample are: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1290F/1435a49a0854cf885bd0a880b2bd4ec616aaecf0.png)The only shape for the second sample is: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1290F/c198c6d97ae318f4efbc29b95f2307d41e83d32d.png)The only shape for the fourth sample is: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1290F/5612d8b3b2e07c811bb5d8b4ac9e1b97873da5e3.png)

Input

题意翻译

给定 $n$ 个向量,满足任意两个向量不共线。你需要按照如下方式画图: - 初始点在 $(0,0)$ - 选择一个向量,从当前点连向当前点加上这个向量得到的点 - 重复第二个操作,最后回到 $(0,0)$ 并停止。 这样你可以得到一个多边形,问有多少种画法使得得到一个凸多边形且最终的多边形可以被放到 $m\times m$ 的矩形里。输出答案对 $998244353$ 取模。 $n \le 5, m \le 10^9 , |x_i|,|y_i| \le 4$

加入题单

算法标签: