题目描述
有 N 个人,每个人分别被编号为 1,2,…,N。
这 N 个人进行了一场比赛,并得到了名次。关于这些名次,给出了如下信息:
- 每个人被分配的名次互不相同。
- 对于每个 1≤i≤M,设第 Ai 个人的名次为 x,第 Bi 个人的名次为 y,则有 x−y=Ci。
此外,本题保证输入的数据不会出现矛盾,即至少存在一种满足所有条件的名次分配方式。
请你回答 N 个查询。对于第 i 个查询,答案定义如下:
- 如果第 i 个人的名次可以唯一确定,则输出该名次。
- 否则,输出 −1。
输入格式
输入从标准输入中读取,格式如下:
N M A1 B1 C1 A2 B2 C2 ⋯ AM BM CM
输出格式
请按顺序输出第 1,2,…,N 个查询的答案,使用空格分隔。
样例 1
输入
5 2
2 3 3
5 4 3
输出
3 -1 -1 -1 -1
样例 2
输入
3 0
输出
-1 -1 -1
样例 3
输入
8 5
6 7 3
8 1 7
4 5 1
7 2 1
6 2 4
输出
1 -1 -1 -1 -1 -1 -1 8
说明/提示
限制条件
- 2≤N≤16
- 0≤M≤2N(N−1)
- 1≤Ai,Bi≤N
- 1≤Ci≤N−1
- (Ai,Bi)=(Aj,Bj) (i=j)
- 输入保证至少存在一种满足所有条件的名次分配方式
- 所有输入的值均为整数
样例解释 1
设第 i 个人的名次为 Xi,则 (X1,X2,X3,X4,X5) 可能为 (3,4,1,2,5) 或 (3,5,2,1,4)。因此,第 1 个查询的答案为 3,第 2,3,4,5 个查询的答案均为 −1。
由 ChatGPT 4.1 翻译