关注
/* 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
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
266516次浏览 2225人参与
# 学历or实习经历,哪个更重要 #
43761次浏览 330人参与
# 北方华创开奖 #
23791次浏览 260人参与
# 地方国企笔面经互助 #
2899次浏览 7人参与
# 如果实习可以转正,你会不会放弃秋招 #
204645次浏览 2788人参与
# 选完offer后,你后悔学本专业吗 #
13761次浏览 98人参与
# 你觉得专业和学校哪个对薪资影响最大 #
28307次浏览 212人参与
# 查收我的offer竞争力报告 #
19916次浏览 257人参与
# 你最想要的公司福利是? #
42233次浏览 148人参与
# 0offer是寒冬太冷还是我太菜 #
888188次浏览 7913人参与
# 如何一边实习一边秋招 #
987652次浏览 12610人参与
# 应届生被毁约被毁意向了怎么办 #
28345次浏览 244人参与
# 一觉醒来,我觉醒了超级打工人系统 #
3360次浏览 36人参与
# 面试体验感最好的是哪家? #
83744次浏览 818人参与
# 机械应届生薪资要多少才合适? #
12553次浏览 61人参与
# 来聊聊机械薪资天花板是哪家 #
66074次浏览 447人参与
# 如果公司降薪,你会跳槽吗? #
24821次浏览 236人参与
# 秋招OC许愿 #
228441次浏览 1881人参与
# 如何写一份好简历 #
605415次浏览 8526人参与
# 没有实习经历,还有机会进大厂吗 #
807284次浏览 13855人参与
# 你认为第一份工作重要吗 #
5467次浏览 50人参与