关注
/* 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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 刚入职就____,这样正常吗? #
32708次浏览 273人参与
# 哪些公司对双非友好 #
56150次浏览 422人参与
# 小红书校招直播来了 #
19964次浏览 164人参与
# 你是怎么和mt相处的? #
28901次浏览 167人参与
# 面试反问你会问什么 #
38089次浏览 539人参与
# 实习返校后,你的精神状态是__? #
20780次浏览 113人参与
# 你朋友圈最大的人脉是谁? #
13833次浏览 110人参与
# 上班苦还是上学苦呢? #
272070次浏览 1717人参与
# 最难的技术面是哪家公司? #
41347次浏览 687人参与
# 关于求职,我有X不投 #
20268次浏览 132人参与
# 实习必须要去大厂吗? #
125624次浏览 1470人参与
# 秋招遇到的奇葩面试题 #
31398次浏览 172人参与
# 这个工作能去吗 #
13320次浏览 104人参与
# 招银网络求职进展汇总 #
134802次浏览 878人参与
# 机械人,你被简历秒挂的企业有哪些? #
57199次浏览 320人参与
# 找工作前vs找工作后的心路变化 #
18534次浏览 151人参与
# 4399求职进展汇总 #
28621次浏览 153人参与
# kpi面有什么特征 #
72149次浏览 453人参与
# 上班到公司第一件事做什么? #
88995次浏览 656人参与
# 机械人,签完三方你在忙什么? #
58396次浏览 228人参与
# 你觉得机械有必要实习吗 #
60777次浏览 475人参与