zl程序教程

您现在的位置是:首页 >  后端

当前栏目

美团秋招笔试——算法岗

算法 笔试
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