CF954F.Runner's Problem

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are running through a rectangular field. This field can be represented as a matrix with 33 rows and mm columns. (i,j)(i,j) denotes a cell belonging to ii -th row and jj -th column.

You start in (2,1)(2,1) and have to end your path in (2,m)(2,m) . From the cell (i,j)(i,j) you may advance to:

  • (i1,j+1)(i-1,j+1) — only if i>1 ,
  • (i,j+1)(i,j+1) , or
  • (i+1,j+1)(i+1,j+1) — only if i<3 .

However, there are nn obstacles blocking your path. kk -th obstacle is denoted by three integers aka_{k} , lkl_{k} and rkr_{k} , and it forbids entering any cell (ak,j)(a_{k},j) such that lk<=j<=rkl_{k}<=j<=r_{k} .

You have to calculate the number of different paths from (2,1)(2,1) to (2,m)(2,m) , and print it modulo 109+710^{9}+7 .

输入格式

The first line contains two integers nn and mm ( 1<=n<=1041<=n<=10^{4} , 3<=m<=10183<=m<=10^{18} ) — the number of obstacles and the number of columns in the matrix, respectively.

Then nn lines follow, each containing three integers aka_{k} , lkl_{k} and rkr_{k} ( 1<=ak<=31<=a_{k}<=3 , 2<=lk<=rk<=m12<=l_{k}<=r_{k}<=m-1 ) denoting an obstacle blocking every cell (ak,j)(a_{k},j) such that lk<=j<=rkl_{k}<=j<=r_{k} . Some cells may be blocked by multiple obstacles.

输出格式

Print the number of different paths from (2,1)(2,1) to (2,m)(2,m) , taken modulo 109+710^{9}+7 . If it is impossible to get from (2,1)(2,1) to (2,m)(2,m) , then the number of paths is 00 .

输入输出样例

  • 输入#1

    2 5
    1 3 4
    2 2 3
    

    输出#1

    2
    
首页