zoukankan      html  css  js  c++  java
  • PAT A1149 Dangerous Goods Packaging [蜜汁模拟+STL]

    题目描述

    链接
    给一堆互斥的关系,然后给你一个序列,问你里面是否有互斥的存在。

    分析

    • 用一个map保存互斥关系,由于一个id可能与多个id互斥,所以是个数组
    • 然后给你序列的时候,输入一个值,你加入set集合的tmp中,然后遍历这个值的互斥值,看看是否在tmp集合中
    • 我以为遍历这里要超时,结果就是暴力!!!
    • 果然还是看时限!!一般400ms就是暴力!!!

    代码

    #include<bits/stdc++.h>
    using namespace std;
    
    
    unordered_map<int, vector<int>> mp;
    
    int main(){
        int n,m;
        cin>>n>>m;
        for(int i=0;i<n;i++){
            int st, ed;
            cin>>st>>ed;
            mp[st].push_back(ed);
            mp[ed].push_back(st);
        }
        for(int i=0;i<m;i++){
            int k;
            cin>>k;
            set<int> tmp;
            bool flag = 0;
            for(int j=0;j<k;j++){
                int id;
                cin>>id;
                tmp.insert(id);
                if(mp.find(id) != mp.end()){
                    for(int p=0;p<mp[id].size();p++){
                        if(tmp.find(mp[id][p]) != tmp.end()){
                            flag = 1;
                        }
                    }
                }
            }
            if(flag) printf("No
    ");
            else printf("Yes
    ");
        }
    
    
    }
    
    
  • 相关阅读:
    javase 超市库存系统
    Javase 简单代码练习
    Javase 简单练习
    SQL表连接查询
    SQL多表查询
    SQL表查询
    SQL数据查询2
    SQL数据查询
    SQL增删改
    AutoCompleteTextView的使用
  • 原文地址:https://www.cnblogs.com/doragd/p/11466809.html
Copyright © 2011-2022 走看看