zoukankan      html  css  js  c++  java
  • PTA乙级 (1065 单身狗 (25分)(map,set.find(),vector))

    1065 单身狗 (25分)

    https://pintia.cn/problem-sets/994805260223102976/problems/994805266942377984

    解题思路:一开始只使用map<int, int> comp和vector<int> vec;comp用来存储每一对数字,vec用来存储查找出来的单身狗,查找单身狗时用了双重for循环直接一个个用map查询是否配对结果测试点三,四超时;后来改成使用set.find()查找:

    1.将所有情侣用一个set存起来,一对情侣再分别做两个映射,方便查询11111-->22222,22222-->11111
    2.客人用一个数组存起来,再用set存一遍方便查询,接下来就遍历客人,判断是否落单
    3.set是一颗二叉树,这里使用了set的find函数

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cmath>
     4 #include <cstring>
     5 #include <string>
     6 #include <cstdio>
     7 #include <map>
     8 #include <vector>
     9 #include <set>
    10 using namespace std;
    11 int main()
    12 {
    13     ios::sync_with_stdio(false);   
    14     cin.tie(0);
    15     map<int, int> comp;
    16     set<int> st1,st2;
    17     vector<int> vec;
    18     int n,m,temp1,temp2;
    19     int s1[10002];
    20     cin>>n;
    21     for(int i=0;i<n;i++)
    22     {
    23         cin>>temp1>>temp2;
    24         st1.insert(temp1);
    25         st1.insert(temp2);
    26         comp[temp1]=temp2;
    27         comp[temp2]=temp1;
    28     }
    29     cin>>m;
    30     for(int i=0;i<m;i++) 
    31     {cin>>s1[i];st2.insert(s1[i]);}
    32     for(int i=0;i<m;i++)
    33     {
    34         if(st1.find(s1[i])!=st1.end())
    35         {
    36             if(st2.find(comp[s1[i]])!=st2.end());
    37             else vec.push_back(s1[i]);
    38         }
    39         else vec.push_back(s1[i]);
    40     }
    41     sort(vec.begin(),vec.end());
    42     cout<<vec.size()<<endl;
    43     for(int i=0;i<vec.size();i++)
    44     {
    45         if(i==0) printf("%05d",vec[i]);
    46         else printf(" %05d",vec[i]);
    47     }
    48     return 0;
    49 }
    天晴了,起飞吧
  • 相关阅读:
    Django-admin管理工具
    docker-ce安装与搭建私有仓库
    docker-建立私有registry
    UBUNTU 下设置全局 path变量
    REDIS学习(1)环境搭建
    mongodb学习(1) 第一次开启 mongdb
    linux 添加 $path
    php cgi 与 cli 区别
    mysql 分区信息查看
    php 编译安装选项
  • 原文地址:https://www.cnblogs.com/jianqiao123/p/12215405.html
Copyright © 2011-2022 走看看