stl-map的一道很好的题目
来源:互联网 发布:linux php7环境搭建 编辑:程序博客网 时间:2024/06/16 18:20
Damn Single (25)
“Damn Single (单身狗)” is the Chinese nickname for someone who is being single. You are supposed to find those who are alone in a big party, so they can be taken care of.
Input Specification:
Each input file contains one test case. For each case, the first line gives a positive integer N (<=50000), the total number of couples. Then N lines of the couples follow, each gives a couple of ID’s which are 5-digit numbers (i.e. from 00000 to 99999). After the list of couples, there is a positive integer M (<=10000) followed by M ID’s of the party guests. The numbers are separated by spaces. It is guaranteed that nobody is having bigamous marriage (重婚) or dangling with more than one companion.
Output Specification:
First print in a line the total number of lonely guests. Then in the next line, print their ID’s in increasing order. The numbers must be separated by exactly 1 space, and there must be no extra space at the end of the line.
Sample Input:
3
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333
Sample Output:
5
10000 23333 44444 55555 88888
思路:pat甲级的一道题目,个人的第一次看到用map容器的用法,map的用法主要用于标记,这道题个人感觉很不错,运用map,很好说明map的一些常用的用法。用法在代码注释。
#include <cstdio> #include <cstring> #include <vector> #include <map> #include <algorithm> #include <iostream> using namespace std; int main(){ int n,count=0; string a,b; map<string,string> c; map<string,int> d; vector<string> re; cin>>n; for(int i=1;i<=n;i++){ cin>>a>>b; c.insert(pair<string,string>(a,b));//对a和b进行插入,说明a是key,b是value; c.insert(pair<string,string>(b,a)); //想反的在进行一个插入,a与b此时连在一起的感觉。 } cin>>n; for(int i=1;i<=n;i++){ cin>>a; d[a]=1; //对a进行标记; } int flag=0; map<string,int> ::iterator it; for(it=d.begin();it!=d.end();it++){ if(d.count(c[it->first])==0){ //count函数说明value有没有出现,c【}it-》first 】的值是夫妻对方;主要要明白这里的it->first。 count++; re.push_back(it->first); //map中的it->first是 自动排序的。 } } cout<<count<<endl; for(int i=0;i<re.size();i++){ cout<<re.at(i)<<(i==re.size()-1?'\n':' '); } return 0; }
- stl-map的一道很好的题目
- 很好的一道思维题目(有坑点的)
- poj2513 很好的一道题目 并查集+字典树
- poj 3414 Pots(认为是一道很好的bfs题目)
- hdu 1689 BFS+剪枝 求最小奇数环 很好很好的一道题目
- stl map函数练练手的题目
- 很好的一道树状数组
- 很好的一道面试题
- POJ 3057 Evacuation(一道很好可以加强对二分图理解的题目)
- 一道有趣的题目
- 一道用递规做的题目
- 经典的一道题目.
- 笔试的一道题目
- 一道题目的解答
- 一道小学的题目
- 一道猥琐的题目
- 爱因斯坦的一道题目
- 一道有趣的题目
- python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
- Android Studio个人理解
- Activiti5.22:删除工作流引擎自动创建的外键约束
- Node.js基本模块
- 【面试题】简单背包问题
- stl-map的一道很好的题目
- ChinaDDoS BGP 流量牵引二层VLAN回注配置
- Android 经典笔记之二:如何退出应用程序
- CC2640R2F BLE5.0 BLE连接参数更新过程详解
- 【Unity知识搬运】将一个表达式转换为逆波兰式的具体算法思想
- 【XSY1538】连在一起的幻想乡 数学 无向连通图计数
- 设计模式——序
- springSecurityFilterChain别名的由来
- HTTP协议报文、工作原理及Java中的HTTP通信技术详解