CF437E.The Child and Polygon

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

This time our child has a simple polygon. He has to find the number of ways to split the polygon into non-degenerate triangles, each way must satisfy the following requirements:

  • each vertex of each triangle is one of the polygon vertex;
  • each side of the polygon must be the side of exactly one triangle;
  • the area of intersection of every two triangles equals to zero, and the sum of all areas of triangles equals to the area of the polygon;
  • each triangle must be completely inside the polygon;
  • each side of each triangle must contain exactly two vertices of the polygon.

The picture below depicts an example of a correct splitting.

Please, help the child. Calculate the described number of ways modulo 10000000071000000007 (109+7)(10^{9}+7) for him.

输入格式

The first line contains one integer nn (3<=n<=200)(3<=n<=200) — the number of vertices of the polygon. Then follow nn lines, each line containing two integers. The ii -th line contains xi,yix_{i},y_{i} (xi,yi<=107)(|x_{i}|,|y_{i}|<=10^{7}) — the ii -th vertex of the polygon in clockwise or counterclockwise order.

It's guaranteed that the polygon is simple.

输出格式

Output the number of ways modulo 10000000071000000007 (109+7)(10^{9}+7) .

输入输出样例

  • 输入#1

    4
    0 0
    0 1
    1 1
    1 0
    

    输出#1

    2
    
  • 输入#2

    4
    0 0
    1 0
    0 1
    -1 0
    

    输出#2

    1
    
  • 输入#3

    5
    0 0
    1 0
    1 1
    0 1
    -2 -1
    

    输出#3

    3
    

说明/提示

In the first sample, there are two possible splittings:

In the second sample, there are only one possible splitting:

首页