华为训练题:初级——合并表记录(字典,简单题)
2015-08-14 20:23
288 查看
数据表记录包含表索引和数值。请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值求和
先输入键值对的个数
然后输入成对的index和value值,以换行符隔开
输出合并后的键值对(多行)
4
0 1 0 2 1 2 3 4
0
3
1
2
3
4
思路:
用一个map字典来做,每次输入一对时count下,发现不等于1时加入,发现等于1时在它上面++value
先输入键值对的个数
然后输入成对的index和value值,以换行符隔开
输出合并后的键值对(多行)
4
0 1 0 2 1 2 3 4
0
3
1
2
3
4
思路:
用一个map字典来做,每次输入一对时count下,发现不等于1时加入,发现等于1时在它上面++value
#include<iostream> #include<map> using namespace std; int main() { int n; map<int,int> ma1; cin>>n; while(n--) { int key; int value; cin>>key; cin>>value; if(ma1.count(key)==1) ma1[key]+=value; else ma1[key]=value; } for(map<int,int>::iterator i=ma1.begin();i!=ma1.end();i++) { cout<<i->first<<endl; cout<<i->second<<endl; } system("pause"); }
相关文章推荐
- 循环,迭代,遍历的区别
- Google后Hadoop时代的新“三驾马车”
- hdu 1250 高精度+斐波那契
- 减少科研文章写作错误的一点小技巧
- MAVEN for mac 安装
- 【转载】UIScrollView
- PAT 1073. Scientific Notation (20)
- ThreadLocal用法和实现原理
- hdu 5381 The sum of gcd
- 谷歌技术"三宝"之谷歌文件系统
- [SDOI2015][BZOJ3991] 寻宝游戏|set|dfs序|虚树|树上倍增LCA
- centos7下安装adagios
- Codeforces 6C
- Linux 网络配置
- 文件权限管理及ACL设置
- OC - Menory(High)
- hdu 1069 dp
- 黑马程序员——java复习总结——GUI和网络编程
- TOP计划猿10最佳实践文章
- Contest 7 1003 Hotaru's problem【字符串】