1199:数组-1

时间限制: 2 S | 内存限制: 65536 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

为了出题,著名波普艺术家在大脑中随机生成了一个长度为 n 的数组,但由于他记忆力较差,只能记个大概。他只能告诉你 m 条信息,你需要帮他判断这个数组是否真的可能存在。

信息分为三种:

 1. A[b] ≤ A[a] + C

 2. A[a] ≤ A[b] + C

 3. A[a] = A[b]

(C 为小于等于 100 的非负整数)

输入

输入两个整数 n 和 m,分别为数组长度和信息的条数。(1 ≤ n,m ≤ 1e4)

接下来是 m 行。

如果第一个数字为 1,接下来三个数字 a , b , C,表示 A[b] ≤ A[a] + C。(1 ≤ C ≤ 100)

如果第一个数字为 2,接下来三个数字 a , b , C,表示 A[a] ≤ A[b] + C。(1 ≤ C ≤ 100)

如果第一个数字为 3,接下来两个数字 a , b,表示 A[a] = A[b]。

(1 ≤ a,b ≤ n)

输出

若数组可能存在输出 Yes,若数组不可能存在输出 No,并换行!

样例输入
3 3
3 1 2
1 1 3 1
2 2 3 2
样例输出
Yes
HINT
SPFA
来源
第七届编程大赛热身赛