【51Nod1967】路径定向

来源:互联网 发布:炒美股用什么软件 编辑:程序博客网 时间:2024/06/05 16:25

给出一个有向图,要求给每条边重定向,使得定向后出度等于入度的点最多,输出答案和任意一种方案
Input
第一行两个正整数N,M,表示1-N号点与M条边
接下来M行,每行两个正整数Xi,Yi,表示存在一条有向边从Xi指向Yi
N≤10^5, M≤3*10^5, Xi,Yi≤N
Output
第一行一个整数Ans,表示定向后出度等于入度的最大点数
第二行一个长度为M的01字符串,第i位为0表示第i条边不改向,第i位为1表示第i条边改变方向
Input示例
7 7
1 2
2 3
2 3
4 5
1 5
6 7
6 7
Output示例
5
0010110

题解
猜想每个偶点都是可行的。
对于奇点,连边使得他们成为偶点,跑欧拉回路给每条边定向。