关注
/* 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); } } }
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
35404次浏览 433人参与
# 网申一定要掌握的小技巧 #
20346次浏览 83人参与
# 厦门银行科技岗值不值得投 #
15732次浏览 359人参与
# 学历VS实习,哪个更重要? #
1954次浏览 55人参与
# uu们,春招你还来吗? #
63429次浏览 748人参与
# 一人一道大厂面试题 #
124888次浏览 1301人参与
# 面试中,你被问过哪些奇葩问题? #
96348次浏览 1273人参与
# 面试被问到不会的问题,你怎么应对? #
26077次浏览 658人参与
# 你都用vibe coding做过什么? #
22121次浏览 820人参与
# 面试紧张时你会有什么表现? #
34130次浏览 211人参与
# 你觉得大几开始实习最合适? #
30223次浏览 313人参与
# 你见过哪些招聘隐形歧视? #
25134次浏览 214人参与
# AI Coding实战技巧 #
15490次浏览 299人参与
# 哔哩哔哩笔试 #
35161次浏览 142人参与
# 工作上你捅过哪些篓子? #
68376次浏览 317人参与
# 如果人生可以debug你会改哪一行? #
13076次浏览 167人参与
# 你现在一天AI几次? #
13486次浏览 137人参与
# 机械人,签完三方你在忙什么? #
83940次浏览 266人参与
# 你的实习什么时候入职 #
366858次浏览 2357人参与
# Claude Code泄露源码 #
15762次浏览 212人参与
# 机械人你觉得今年行情怎么样? #
7892次浏览 96人参与