#L0824. 差分约束可行性判定

差分约束可行性判定

题目描述

给定 nn 个整数变量 x1,x2,,xnx_1, x_2, \ldots, x_n,以及 mm 条约束条件,判断是否存在一组整数赋值满足所有约束。

约束有三种类型:

  • 类型 1:xaxb+cx_a \ge x_b + c(变量 aa 比变量 bb 至少大 cc);
  • 类型 2:xaxb+cx_a \le x_b + c(变量 aa 比变量 bb 至多大 cc);
  • 类型 3:xa=xbx_a = x_b(变量 aa 和变量 bb 相等)。

输入格式

第一行两个整数 nnmm,分别表示变量个数和约束条数。

接下来 mm 行,每行描述一条约束:

  • 若第一个数为 11,后跟三个整数 a,b,ca, b, c,表示 xaxb+cx_a \ge x_b + c
  • 若第一个数为 22,后跟三个整数 a,b,ca, b, c,表示 xaxb+cx_a \le x_b + c
  • 若第一个数为 33,后跟两个整数 a,ba, b,表示 xa=xbx_a = x_b

输出格式

如果存在满足所有约束的整数赋值,输出 Yes,否则输出 No

样例

3 3
3 1 2
1 1 3 1
2 2 3 2
Yes

提示

对于 100%100\% 的数据,1n,m,a,b,c5×1031 \le n, m, a, b, c \le 5 \times 10^3

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
1552
类型
传统题
Time Limit
1000ms
Memory Limit
128MiB
上传者