atcoder#KEYENCE2020E. Bichromization
Bichromization
题目描述
頂点 辺の連結な無向グラフがあります。 このグラフの辺 () は頂点 と頂点 を双方向に結んでいます。 また、 個の整数 が与えられます。
このグラフの各頂点に白または黒の色を割り当て、さらに 各辺に 以上 以下の整数の重みを割り当てる方法であって、以下の条件を満たすものが存在するかどうか判定してください。 さらに、存在する場合、そのような割り当てをひとつ求めてください。
- 白および黒が割り当てられた頂点がそれぞれ少なくとも 個以上存在する。
- 各頂点 () に対して以下の条件が成り立つ。
- 頂点 からグラフの辺を通って頂点 と異なる色が割り当てられた頂点に移動する際にかかる最小のコストはちょうど である。
なお、グラフ上の移動にかかるコストとは、 移動の際に通る辺の重みの和のことです。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
割り当てが不可能である場合、-1
と一行に出力せよ。
可能である場合、 割り当て方をひとつ、 以下の形式で出力せよ。
ただし、
- 行目の出力 は長さ の文字列とせよ。 その 番目 () の文字は、頂点 に白色を割り当てる場合は
W
とし、黒色を割り当てる場合はB
とせよ。 - 行目 () の出力 は辺 に割り当てる重みとせよ(整数として出力すること)。
题目大意
你有一个 个点 条边的无向连通图,第 个点有点权 。你现在要给每个点染上黑白两种颜色,以及给每条边一个 之间的整数边权,使得:
- 白点和黑点都要出现。
- 点 到和它颜色不一样的点的最短路为 。
请判断是否有解,如果有要输出方案,否则输出-1
。
5 5
3 4 3 5 7
1 2
1 3
3 2
4 2
4 5
BWWBB
4
3
1
5
2
5 7
1 2 3 4 5
1 2
1 3
1 4
2 3
2 5
3 5
4 5
-1
4 6
1 1 1 1
1 2
1 3
1 4
2 3
2 4
3 4
BBBW
1
1
1
2
1
1
提示
制約
- 与えられるグラフは連結であり、自己ループや多重辺を持たない。
- 入力値はすべて整数である。
Sample Explanation 1
出力例のように色と重みを割り当てた場合、たとえば頂点 からグラフの辺を通って頂点 と異なる色が割り当てられた頂点に最小のコストで移動するには、 頂点 頂点 頂点 と移動すればよく、この移動のコストは となるので、条件を満たします。 他の頂点についても条件を満たすことが確かめられます。