package com.interview.books.question300;
import com.interview.basics.model.graph.Graph;
/**
* Created_By: stefanie
* Date: 14-10-5
* Time: 下午4:17
*
* The solution only find a print color solution, not the minimal solution.
*/
public class TQ34_GraphPainter {
public static int[] paint(Graph graph){
int[] color = new int[graph.V];
for(int i = 0; i < graph.V; i++){
if(graph.adj(i) == null) color[i] = 1;
}
int i = 0;
while(i < graph.V){
if(color[i] == 1);
else if(color[i] == 0){
color[i] = 1;
for(Integer t : graph.adj(i)) {
color[t] = 2;
}
} else {
for(Integer t: graph.adj(i)){
if(color[t] == color[i]) color[t]++;
}
}
i++;
}
return color;
}
}