codeforces#P1430G. Yet Another DAG Problem

    ID: 31561 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 10 上传者: 标签>bitmasksdfs and similardpflowsgraphsmath*2600

Yet Another DAG Problem

Description

You are given a directed acyclic graph (a directed graph that does not contain cycles) of $n$ vertices and $m$ arcs. The $i$-th arc leads from the vertex $x_i$ to the vertex $y_i$ and has the weight $w_i$.

Your task is to select an integer $a_v$ for each vertex $v$, and then write a number $b_i$ on each arcs $i$ such that $b_i = a_{x_i} - a_{y_i}$. You must select the numbers so that:

  • all $b_i$ are positive;
  • the value of the expression $\sum \limits_{i = 1}^{m} w_i b_i$ is the lowest possible.

It can be shown that for any directed acyclic graph with non-negative $w_i$, such a way to choose numbers exists.

The first line contains two integers $n$ and $m$ ($2 \le n \le 18$; $0 \le m \le \dfrac{n(n - 1)}{2}$).

Then $m$ lines follow, the $i$-th of them contains three integers $x_i$, $y_i$ and $w_i$ ($1 \le x_i, y_i \le n$, $1 \le w_i \le 10^5$, $x_i \ne y_i$) — the description of the $i$-th arc.

It is guaranteed that the lines describe $m$ arcs of a directed acyclic graph without multiple arcs between the same pair of vertices.

Print $n$ integers $a_1$, $a_2$, ..., $a_n$ ($0 \le a_v \le 10^9$), which must be written on the vertices so that all $b_i$ are positive, and the value of the expression $\sum \limits_{i = 1}^{m} w_i b_i$ is the lowest possible. If there are several answers, print any of them. It can be shown that the answer always exists, and at least one of the optimal answers satisfies the constraints $0 \le a_v \le 10^9$.

Input

The first line contains two integers $n$ and $m$ ($2 \le n \le 18$; $0 \le m \le \dfrac{n(n - 1)}{2}$).

Then $m$ lines follow, the $i$-th of them contains three integers $x_i$, $y_i$ and $w_i$ ($1 \le x_i, y_i \le n$, $1 \le w_i \le 10^5$, $x_i \ne y_i$) — the description of the $i$-th arc.

It is guaranteed that the lines describe $m$ arcs of a directed acyclic graph without multiple arcs between the same pair of vertices.

Output

Print $n$ integers $a_1$, $a_2$, ..., $a_n$ ($0 \le a_v \le 10^9$), which must be written on the vertices so that all $b_i$ are positive, and the value of the expression $\sum \limits_{i = 1}^{m} w_i b_i$ is the lowest possible. If there are several answers, print any of them. It can be shown that the answer always exists, and at least one of the optimal answers satisfies the constraints $0 \le a_v \le 10^9$.

Samples

3 2
2 1 4
1 3 2
1 2 0
5 4
1 2 1
2 3 1
1 3 6
4 5 8
43 42 41 1337 1336
5 5
1 2 1
2 3 1
3 4 1
1 5 1
5 4 10
4 3 2 1 2