Bipartite Graph in a Digraph
Any simple cycle satisfies the conditions, so you can use any standard algorithm for finding cycles in a directed graph.

For example: decompose into strongly connected components.  Pick one component.  Start following an arbitrary walk through vertices within that component.  As soon as you hit a vertex the second time, you can construct a cycle.