描述 |
---|
为了出题,著名波普艺术家在大脑中随机生成了一个长度为 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 |
样例输出 |
Yes |
HINT |
SPFA |
来源 |
第七届编程大赛热身赛 |