hihocoder1121

xiaoxiao2021-02-28  89

import java.util.*; enum Color{ no, white, black } class Node{ private Color color; private int id; List<Integer> dateIds = new ArrayList<>(); Node(int id){ this.id = id; this.color = Color.no; } public Color getColor() { return color; } public void setColor(Color color) { this.color = color; } public void add(int dateId){ dateIds.add(dateId); } } public class hiho二分图判定 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int t = in.nextInt(); for (int i = 0; i < t; i++) { int n = in.nextInt(); int m = in.nextInt(); Node[] people = new Node[n + 1]; for (int j = 0; j < n +1; j++) { people[j] = new Node(j); } //邻接表 for (int j = 0; j < m; j++) { int a = in.nextInt(); int b = in.nextInt(); people[a].add(b); people[b].add(a); } // people[1].setColor(Color.white); Queue<Node> queue = new ArrayDeque<>(); queue.add(people[1]); boolean flag = true; while (!queue.isEmpty()){ Node val = queue.poll(); for (int dateId: val.dateIds) { if(people[dateId].getColor().equals(Color.no)){ if(val.getColor().equals(Color.white)){ people[dateId].setColor(Color.black); } if(val.getColor().equals(Color.black)){ people[dateId].setColor(Color.white); } queue.add(people[dateId]); }else { if(people[dateId].getColor().equals(val.getColor())){ flag = false; break; }else { continue; } } } } if(flag){ System.out.println("Correct"); }else { System.out.println("Wrong"); } } } }
转载请注明原文地址: https://www.6miu.com/read-60423.html

最新回复(0)