美团秋招笔试——算法岗
算法 笔试
2023-09-11 14:15:32 时间
#include <cstdio>
#include <iostream>
#include <queue>
#include <set>
#include <vector>
using namespace std;
const int N = 1000;
vector<int> vec[N + 1]; // 邻接表,下标表示顶点
int main()
{
int n = 0; // 顶点数
int m = 0; // 边数
scanf("%d%d", &n, &m);
for (int i = 0; i < m; ++i) {
int u = 0;
int v = 0;
scanf("%d%d", &u, &v);
vec[u].push_back(v);
vec[v].push_back(u);
}
int k = 0;
int t = 0;
scanf("%d%d", &k, &t);
set<int> S;
for (int i = 0; i < k; ++i) {
int s;
scanf("%d", &s);
S.insert(s);
}
bool has = false;
for (int v : S) {
set<int> inf