首页 > 编程 > C++ > 正文

[华为OJ--C++]008-合并表记录

2019-11-08 18:34:01
字体:
来源:转载
供稿:网友

题目描述:数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照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;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选