贪心: 初始所有点为白色,对于点i,若a[i]为白色则将其染成与i不同的颜色. 证明:若点i确定为白色,a[i]染白色也只能提供一个黑点,故a[i]染黑色不会差:若所有指向i的点均为黑色,则i只能是白色. 使用拓扑排序实现,一开始将无入度的点入队,最后剩下的环从任意处切开即可. 环上的情况可以分环为奇数,偶数通过讨论得到个数是对的. SAC大佬%%%orz,提供链接:http://www.cnblogs.com/NaVi-Awson/ #include<iostream> #include&l…