关注
/* 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); } } }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
148366次浏览 2524人参与
# 秋招落幕,你是He or Be #
3327次浏览 76人参与
# 应届生进小公司有什么影响吗 #
109147次浏览 1116人参与
# 比亚迪工作体验 #
70241次浏览 254人参与
# 你面试体验感最差/最好的公司 #
3202次浏览 56人参与
# 工作中听到最受打击的一句话 #
2643次浏览 61人参与
# 大厂VS公务员你怎么选 #
71340次浏览 660人参与
# 重来一次,你会对开始求职的自己说 #
3086次浏览 71人参与
# 一人说一个提前实习的好处 #
3518次浏览 71人参与
# 团建是“福利”还是是 “渡劫” #
4119次浏览 110人参与
# 实习没事做是福还是祸? #
8493次浏览 135人参与
# 如何排解工作中的焦虑 #
244029次浏览 2241人参与
# 从顶到拉给所有面过的公司评分 #
144826次浏览 518人参与
# 今年你最想重开的一场面试是? #
1482次浏览 25人参与
# 你小心翼翼的闯过多大的祸? #
7064次浏览 109人参与
# 联影求职进展汇总 #
123867次浏览 781人参与
# OPPO求职进展汇总 #
755965次浏览 5390人参与
# 互联网公司爆料 #
158625次浏览 724人参与
# 产品实习,你更倾向大公司or小公司 #
189146次浏览 2053人参与
# 秋招结束之后的日子 #
113928次浏览 1039人参与
