关注
/* 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
相关推荐
牛客热帖
更多
正在热议
更多
# 你感受到金三银四了嘛? #
53050次浏览 513人参与
# 美团笔试 #
670309次浏览 4387人参与
# 虽然0面试,但今天___,夸夸自己 #
5915次浏览 135人参与
# 拼多多工作体验 #
48782次浏览 305人参与
# 春招 / 实习投递,你最焦虑的一件事 #
43084次浏览 864人参与
# 今天你投了哪些公司? #
100063次浏览 1900人参与
# 蚂蚁集团笔试 #
1655次浏览 17人参与
# 简历无回复,你会继续海投还是优化再投? #
143124次浏览 884人参与
# 找工作,你都让AI帮你做什么? #
4852次浏览 175人参与
# 为了去实习,我赌上了___ #
68795次浏览 385人参与
# 如果给AI员工评绩效,我的答案是…… #
6245次浏览 139人参与
# 哪一刻你对工作祛魅了? #
15208次浏览 147人参与
# 刚工作的你,踩过哪些坑? #
3941次浏览 94人参与
# 携程笔试 #
119471次浏览 732人参与
# 实习学不到东西正常吗? #
5849次浏览 93人参与
# 今年找实习到底有多难? #
12929次浏览 130人参与
# AI项目实战 #
4551次浏览 227人参与
# AI时代下,你的岗位要求有什么变化? #
6683次浏览 130人参与
# 软开人,说说你的烦心事 #
66512次浏览 397人参与
# 如果重来一次你还会读研吗 #
226365次浏览 2005人参与