菜鸡分享一下京东多部图代码

我的想法是画一下它的“补图”,然后补图要么是全是0,代表它是一个孤立的点,要么一个集合里面是个完全图,每两个点都有变边连接。代码写的很烂,大家随意看看就好~~

#include<iostream>
#include<vector>
using namespace std;
int main() {
int d;
cin >> d;
while (d--) {
int n, m;
cin >> n >> m;
vector<int> temp(n, 1);
vector<vector<int>> vec(n, temp);
for (int i = 0; i < n; i++) {
vec[i][i] = 0;
}
for (int i = 0; i < m; i++) {
int a, b;
cin >> a >> b;
vec[a - 1][b - 1] = 0;
vec[b - 1][a - 1] = 0;
}
bool flag = false;
for (int i = 0; i < n; i++) {
vector<int> test;
for (int j = 0; j < n; j++) {
if (vec[i][j] == 1) {
int len = test.size();
for (int x = 0; x < len; x++) {
if (vec[test[x]][j] == 0) {
flag = true;
break;
}
if (flag)
break;
}
test.push_back(j);
if (flag)
break;
}
if (flag)
break;
}
if (flag)
break;
}
if (flag)
cout << "No" << endl;
else
cout << "Yes" << endl;

}
return 0;
}
#京东##笔试题目#
全部评论
ac了吗
点赞 回复 分享
发布于 2018-09-09 21:09

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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