分享完全多部图-非常简单的思路

刚才第一次发帖,我忘记题目了,现在修改了一下。。。哈哈哈


题目:同一个集合里面不能连通,不同集合里面必须连通

基本思路:如果1和3. 4.  5不连通,那么3  4  5之间一定不能连通!否则,不是完全多部图

我们只需对每个节点进行上述判断就可以了


public class Main {
     public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int t = scanner.nextInt();
for(int i=0;i<t;i ) {
int n = scanner.nextInt();
int m = scanner.nextInt();
int[][] graph = new int[n 1][n 1];
for(int j=0;j<m;j ) {
int A = scanner.nextInt();
int B = scanner.nextInt();
graph[A][B] = 1;
graph[B][A] = 1;
}
int k = 0;
for( k=1;k<=n;k ) {
List<Integer> temp = new ArrayList<>();
for(int h=1;h<=n;h ) {
if(k==h) continue;
if(graph[k][h]!=1) temp.add(h);
}
if(isValid(graph,temp)==false) {
System.out.println("No");
break;
}
}
if(k>n) System.out.println("Yes");
}
}
     private static boolean isValid(int[][] graph,List<Integer> list) {
        for(int i=0;i<list.size();i ) {
           for(int j=i 1;j<list.size();j ) {
              if(graph[list.get(i)][list.get(j)]==1) return false;
           }
        }
        return true;
     }
}
#京东##Java工程师#
全部评论
对于你的基本假设,实际上应该是1和3,4,5不联通,那么与1连通的集合等于分别与345联通的集合
点赞 回复 分享
发布于 2018-09-10 10:38
感觉 JD 的编程题时间复杂度没有太大要求
点赞 回复 分享
发布于 2018-09-10 09:48
第一次发帖的时候,说反了😂浪费大家时间了。。。
点赞 回复 分享
发布于 2018-09-10 09:46

相关推荐

不愿透露姓名的神秘牛友
06-27 15:19
简历上能写3个月吗?
码农索隆:大胆写,主要你能把实习经历包装好,可以看一下我这篇帖子https://www.nowcoder.com/share/jump/4888395581180798063
点赞 评论 收藏
分享
05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务