菜鸡分享一下京东多部图代码
我的想法是画一下它的“补图”,然后补图要么是全是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;
}
#京东##笔试题目#
腾讯云智研发成长空间 5079人发布

