PAT(A)1149 Dangerous Goods Packaging (25分)

在這裏插入圖片描述

Sample Input

6 3
20001 20002
20003 20004
20005 20006
20003 20001
20005 20004
20004 20006
4 00001 20004 00002 20003
5 98823 20002 20003 20006 10010
3 12345 67890 23333

Sample Output

No
Yes
Yes

思路:
記錄互斥的元素,在結果中直接暴力就可,數據要求不高。
代碼

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;
    map<int, vector<int> >mp;

    for (int i = 0; i < n ; ++i)
    {
        int a, b;
        cin >> a >> b;
        mp[a].push_back(b);
        mp[b].push_back(a);
    }

    while (m--)
    {
        int k;
        vector<int>v;
        cin >> k;
        map<int, int>m;
        for (int i = 0; i < k; ++i)
        {
            int a;
            cin >> a;
            v.push_back(a);
            m[a] = 1;
        }
        int f = 0;
        for (int i = 0; i < v.size(); ++i)
        {
            for (int j = 0; j < mp[v[i]].size(); ++j)
                if (m[mp[v[i]][j]] == 1)
                {
                    f = 1;
                    break;
                }
        }
        if (f)
            cout << "No" << endl;
        else
            cout << "Yes" << endl;
    }

    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章