ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

acwing校庆

2022-07-12 11:01:09  阅读:255  来源: 互联网

标签:old string 校庆 int cin substr xy acwing


题目链接:

题目链接:https://www.acwing.com/problem/content/4272/

此题目同pat 甲级1157

难度评价:易

解题思路:给定两个字符串集合求交集,如果有交集,则统计到来的校友人数,并且如果发现yyyymmdd较小的(则是生日较大的)就更新当前的最大年龄的校友;

如果没有交集,并且发现发现yyyymmdd较小的(则是生日较大的)就更新当前的最大年龄的到来者;

求交集用hash表来实现

参考代码:

 1 #include<bits/stdc++.h>//Acwing每日一题-校庆
 2 using namespace std;
 3 #define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
 4 #define int long long
 5 const int N=1e5+10;
 6 int n;
 7 int m;
 8 int ans;
 9 unordered_set<string>hash1;
10 signed main()
11 {
12     IOS;
13     cin>>n;
14     while(n--)
15     {
16         string a;
17         cin>>a;
18         hash1.insert(a);
19     }
20     string xy="";
21     string old="";
22     cin>>m;
23     while(m--)
24     {
25         string a;
26         cin>>a;
27         if(hash1.count(a))//如果在hash表中发现a
28         {
29             ans++;
30             if(xy.empty()||xy.substr(6,8)>a.substr(6,8))//从下标为6的字符串开始向后数8位
31             {
32                 xy=a;//更新a
33             }
34         }
35         if(old.empty()||old.substr(6,8)>a.substr(6,8))
36         {
37             old=a;
38         }
39     }
40     cout<<ans<<endl;
41     if(ans)//存在交集
42         cout<<xy<<endl;
43     else
44         cout<<old<<endl;
45     return 0;
46 }

 

标签:old,string,校庆,int,cin,substr,xy,acwing
来源: https://www.cnblogs.com/LQS-blog/p/16469262.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有