```
I'm reading about bipartite graphs, but I can't implement It....
I now:
G[V,E]
For each V[white], their friends must to be V[black], and Each friend V[black] must to have friends V[white].
Can you help-me sending some articles about this ?
P.S.: The article would have to be in english please.
I'm reading about it to solve: http://br.spoj.pl/problems/MESA/
Translated to english by google translate:
http://translate.google.com/translate?hl=pt-BR&sl=pt&tl=en&u=http%3A%2F%2Fbr.spoj.pl%2Fproblems%2FMESA%2F
```

You should put your links within the link tags, also, a Bipartite graph doesn't contain odd-length cycles and is bi-colorable, you can try to bi-colorate your graph in a DFS, with the trick of different number for the colors in the visited array.

Can you give me more information?

Here is Link with the proofLink

And if you want something more practical:

If you're using an adjacency and the graph is 1-> based, it's just call:

Bipartite graph could be found by using DFS or BFS. Just run dfs from any vertex and let's take one more variable

curwhich switches each time(such as 1 and 2). And when two vertices have the same "color", then this graph is not bipartite. It is better to show code:Then, if graph is bipartite, all vertices colored with 1 are in one group and with color 2 is in another respectively.

Try to debug this program and try to understand and analyze. It is obviously that there is no edge between two vertices from the same group.

Sorry for my poor English)

Thank you for your solution. I have some questions regarding it

where is "mark" defined and what is the usage of this array?

mark[]is an array of booleans which can be true or false. Ifmark[i]==truethen it means that we have already visited vertexi, otherwise we haven't visited it yet. May be I did not understand your question? Sorry for my poor English :)Thank you for your fast reply :)

I have another question: In which line in the above code the variable ' v ' changes its value? it is always set to zero. Is that right?