标签:
数据表记录包含表索引和数值。请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值求和
先输入键值对的个数
然后输入成对的index和value值,以换行符隔开
输出合并后的键值对(多行)
4
0 1 0 2 1 2 3 4
0
3
1
2
3
4
思路:
用一个map字典来做,每次输入一对时count下,发现不等于1时加入,发现等于1时在它上面++value
1 #include<iostream> 2 #include<map> 3 using namespace std; 4 5 int main() 6 { 7 int n; 8 map<int,int> ma1; 9 cin>>n; 10 while(n--) 11 { 12 int key; 13 int value; 14 cin>>key; 15 cin>>value; 16 17 if(ma1.count(key)==1) 18 ma1[key]+=value; 19 else 20 ma1[key]=value; 21 } 22 for(map<int,int>::iterator i=ma1.begin();i!=ma1.end();i++) 23 { 24 cout<<i->first<<endl; 25 cout<<i->second<<endl; 26 } 27 system("pause"); 28 }
标签:
原文地址:http://www.cnblogs.com/yanliang12138/p/4731113.html