luogu#P6696. [BalticOI 2020 Day2] 图
[BalticOI 2020 Day2] 图
题目描述
你有一个无向图,每条边都有一种颜色:红或者黑。
你要做的就是为每个节点配一个实数点权,使得:
- 对于每条黑色边,两个端点的点权之和为
- 对于每条红色边,两个端点的点权之和为
- 所有点权的绝对值之和是最小的
求一种点权的分配方案。
输入格式
第一行两个整数 代表点数和边数。
所有点的编号为 到 。
接下来 行每行三个整数 描述一条边端点为 和 ,如果 是 那么这条边是黑色边,如果 是 那么这条边是红色边。
输出格式
如果有解,首先第一行输出 YES
,然后第二行 个整数代表可能的一组点权。
多组解输出任意一组即可。
如果无解,一行一个字符串 NO
。
4 4
1 2 1
2 3 2
1 3 2
3 4 1
YES
0.5 0.5 1.5 -0.5
2 1
1 2 1
YES
0.3 0.7
3 2
1 2 2
2 3 2
YES
0 2 0
3 4
1 2 2
2 2 1
2 1 1
1 2 2
NO
提示
评测方式
您的输出被评判为正确,当且仅当:
- 每条边所连两点的点权和与该边要求的点权间的误差不超过 。
- 所有点权的绝对值之和与标准答案误差不超过 。
数据规模与约定
本题采用捆绑测试。
- Subtask 1(5 pts):,。
- Subtask 2(12 pts):。
- Subtask 3(17 pts):。
- Subtask 4(24 pts):。
- Subtask 5(42 pts):无特殊限制。
对于 的数据,,。
本题使用 Special Judge。