• PAT 甲级 1149 Dangerous Goods Packaging


    PAT 甲级 1149 Dangerous Goods Packaging

    思路:

    1.将所有互斥物品存放于map中,然后依据货物清单逐一遍历每件物品的互斥物品是否在清单中;
    2.货物清单可用大数组存放,以空间换时间,否则可能超时。

    代码:

    #include<iostream>
    #include<unordered_map>
    #include<vector>
    using namespace std;
    int main()
    {
     int n,m;
     unordered_map<int,vector<int>> mp;
     scanf("%d%d",&n,&m);
     for(int i=0;i<n;i++)
     {
      int in1,in2;
      scanf("%d%d",&in1,&in2);
      mp[in1].push_back(in2);
      mp[in2].push_back(in1);
     }
     for(int i=0;i<m;i++)
     {
      int num;
      scanf("%d",&num);
      vector<int> v(num);
      bool goods[99999]={false},isSafe=true;
      for(int j=0;j<num;j++)
      {
       scanf("%d",&v[j]);
       goods[v[j]]=true;
      }
      for(int j=0;j<num;j++)
      {
       for(auto k:mp[v[j]])
        if(goods[k]==true) 
        {
         isSafe=false;
         break;
        }
       if(isSafe==false) break;  
      }
      isSafe==true?printf("Yes
    "):printf("No
    ");  
     }
     return 0;
    } 
  • 相关阅读:
    Todo
    我的类
    Python socket编程之七:多窗口的应用
    iOS与PHP/Android AES128 ECB NoPadding加密
    JSONModel简便应用
    iOS开发系列--UITableView全面解析
    常用方法
    OC和C++混编
    数据层
    block
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309106.html
Copyright © 2020-2023  润新知