zoukankan      html  css  js  c++  java
  • L2-1 分而治之 (25分)

    L2-1 分而治之 (25分)

    #include<iostream>
    #include<cstdio>
    #include<vector>
    #include<algorithm>
    #include<cstring>
    #include<string>
    #include<map>
    #include<set>
    #include<queue>
    #include<iomanip>
    #include<stack>
    using namespace std;
    #define STDIN freopen("in.in", "r", stdin);freopen("out.out", "w", stdout);
    
    
    const int N = 10000;
    int h[N], e[N<<1], ne[N<<1], idx;
    
    int n, m;
    void add(int a, int b)
    {
        e[idx] = b;
        ne[idx] = h[a];
        h[a] = idx++;
    }
    
    bool solve(set<int> &se)
    {
        for (int k = 1; k <= n; k++)
        {
            if (se.find(k) == se.end())
                for (int i = h[k]; ~i; i = ne[i])
                {
                    int j = e[i];
                    if (se.find(j) == se.end()){
                        return false;
                    }
                }
        }
        return true;
    }
    
    int main()
    {
    //     STDIN
        cin >> n >> m;
        for (register int i = 0; i <= n; i++) h[i] = -1;
        for (register int i = 1; i <= m; i++)
        {
            int a, b;
            scanf("%d%d", &a, &b);
            add(a, b), add(b, a);
        }
        int k; 
        cin >> k;
        for (register int i = 1; i <= k; i++)
        {
            set<int> se;
            int t; cin >> t;
            for (register int i=1; i<= t;i++)
            {
                int x;
                scanf("%d", &x);
                se.insert(x);
            }
            if (solve(se)) puts("YES");
                else puts("NO");
    
        }
    
    }
  • 相关阅读:
    P1342 请柬
    P1186 玛丽卡
    Scala 中下划线的用法
    IDEA2017 maven Spark HelloWorld项目(本地断点调试)
    Spark内存管理详解
    Spark基础知识
    scala基本语法
    分布式锁的一点理解
    Redis并发问题
    redis集群原理
  • 原文地址:https://www.cnblogs.com/hulian425/p/14050702.html
Copyright © 2011-2022 走看看