由HDU3472所反省的

模拟做比赛,这道题是一道求混合图欧拉路的题目

 

构图就是以26个字母为节点,接着比如一个单词,那么他的首字母和尾字母且标记为0时,相当于一条单向边

如果标记为1,相当于一条无向边,接着构图就和求欧拉回路一样了

 

注意这是以26个字母为节点

 

如果出入度只差为奇数的点的个数不是0或者2的话,就不存在欧拉路径了,否则存在

如果存在奇数点个数为2的,那么当我们给出入度只差除以2的时候,只要队入度大于0的奇数点个数的那个点-1,再除以2,另外那个负点+1,除以2,再与超级源汇点连,就可以得到欧拉路径

 

就不说这上面这些了,主要是我终于知道为什么JOJ拿到题目没过了

 

求欧拉路还要判联通,我以为扫一遍,判是否满流即可,其实不是这样的,还需要判联通。。

 

判完后就没有问题了

 

具体代码就不贴了,就是混合图求欧拉路的代码

你可能感兴趣的:(由HDU3472所反省的)