关注
/* JD 多部图 AC 100 找一个节点,和它不相连的节点都划到一个集合里面,然后验证一下这个集合和剩下的节点之间是否满足要求,如果满足,在考虑剩下的节点,先选一个出来,不相连的划分到一个集合中...循环操作直到所有的节点都划分完就可以了 */ import java.util.*; public class JD1 { public static class Node{ public int value; public ArrayList<Node> nexts; public boolean pass; public Node(int value){ this.value = value; nexts = new ArrayList<>(); pass = false; } } public static void process(Scanner in){ int n = in.nextInt(); int m = in.nextInt(); HashMap<Integer, Node> map = new HashMap<>(); for(int i = 0; i < n; i++){ map.put(i+1, new Node(i+1)); } for(int i = 0; i < m; i++){ int f = in.nextInt(); int s = in.nextInt(); Node nf = map.get(f); Node ns = map.get(s); nf.nexts.add(ns); ns.nexts.add(nf); } Node n1 = map.get(1); map.remove(1); List<Node> xl = n1.nexts; List<Node> nxl = new ArrayList<>(); for (Map.Entry<Integer, Node> entry : map.entrySet()) { if(!xl.contains(entry.getValue())){ nxl.add(entry.getValue()); } } boolean pan = false; for(Node node : nxl){ for(Node node1: xl){ if(!node.nexts.contains(node1)){ pan = true; break; } } } if(pan){ System.out.println("No"); }else{ System.out.println("Yes"); } } public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); for(int i = 0; i < n; i++){ process(in); } } }
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
25498次浏览 323人参与
# 工作前VS工作后,你的心态变化 #
38501次浏览 267人参与
# 秋招想进国企该如何准备 #
125443次浏览 617人参与
# 你的mentor是什么样的人? #
51582次浏览 740人参与
# 从mentor身上学到了__ #
55616次浏览 886人参与
# 我和mentor的爱恨情仇 #
106685次浏览 968人参与
# 我的省钱小妙招 #
37594次浏览 446人参与
# 机械人避雷的岗位/公司 #
44850次浏览 320人参与
# 在大厂上班是一种什么样的体验 #
15151次浏览 224人参与
# 为了减少AI幻觉,你注入过哪些设定? #
7574次浏览 216人参与
# 职场上哪些行为很加分? #
323157次浏览 3618人参与
# 通信/硬件求职避坑tips #
139970次浏览 1087人参与
# 论秋招对个人心气的改变 #
16122次浏览 250人参与
# 你觉得mentor喜欢什么样的实习生 #
48747次浏览 1002人参与
# 你现在会用到哪些AI技能? #
24833次浏览 137人参与
# 牛客AI体验站 #
9370次浏览 230人参与
# 毕业论文进行时 #
27678次浏览 153人参与
# 运营来爆料 #
77444次浏览 467人参与
# 程序员找工作至少要刷多少题? #
24222次浏览 315人参与
# 过年最难忘的一件事 #
23327次浏览 179人参与