题目描述:数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:先输入键值对的个数,然后输入成对的index和value值,以空格隔开
输出描述:输出合并后的键值对(多行)
输入例子:
4
0 1
0 2
1 2
3 4
输出例子:0 3
1 2
3 4
算法实现:
#include<iostream>#include<map>using namespace std;/************************************************ * Author: 赵志乾 * Date: 2017-2-16 * Declaration: All Rigths Reserved !!! ***********************************************/ int main(){ int line; cin>>line; map<int,int>ret; int key=0,value=0; for(int i=0;i<line;i++) { cin>>key>>value; if(ret.count(key)!=0) ret[key]+=value; else ret[key]=value; } map<int,int>::iterator ptr; for(ptr=ret.begin();ptr!=ret.end();ptr++) cout<<ptr->first<<" "<<ptr->second<<endl; return 0;}
新闻热点
疑难解答
图片精选