#agc017f. [agc017_f]Zigzag

[agc017_f]Zigzag

  • 给定一个 NN 层的三角形图,第 ii 层有 ii 个节点。
  • ii 层的节点,从左到右依次标号为 (i,1),(i,2),,(i,i)(i, 1), (i, 2), \ldots , (i, i)(具体如上图所示)。
  • 你需要从 (1,1)(1, 1) 往下画 MM 条折线。
  • 对于每条折线的每一个小段,你可以从 (i,j)(i, j) 画到 (i+1,j)(i + 1, j) 或者 (i+1,j+1)(i + 1, j + 1)
  • 同时你还必须保证第 ii 条折线的任何一个位置必须不能处在第 i1i - 1 条折线的左侧,它们必须按照从左到右的顺序排列。
  • KK 条限制,每条限制形如 (Ai,Bi,Ci)(A_i, B_i, C_i)
  • 表示第 AiA_i 条折线处于位置 (Bi,j)(B_i, j) 时,下一小段必须走向 (Bi+1,j+Ci)(B_i + 1, j + C_i),也就是当 Ci=0C_i = 0 时向左,当 Ci=1C_i = 1 时向右。
  • 询问不同的折线画法的方案数,对 109+7{10}^9 + 7 取模。
  • 1N,M201 \le N, M \le 200KM(N1)0 \le K \le M (N - 1)。其它变量在合理范围内。