C++數據表記錄包含表索引和數值(int範圍的整數),請對錶索引相同的記錄進行合併,即將相同索引的數值進行求和運算,輸出按照key值升序進行輸出。

輸入描述:
先輸入鍵值對的個數
然後輸入成對的index和value值,以空格隔開
輸出描述:
輸出合併後的鍵值對(多行)
示例1
輸入
4
0 1
0 2
1 2
3 4
輸出
0 3
1 2
3 4

#include <iostream>
#include <ostream>
#include <istream>
#include<string>  
#include <map>
using namespace std;

int main(){
	int n;
	map<int,int> m;
	cin>>n;
	while(n){
		int a,b;
		cin>>a>>b;		
		if(m.count(a)){
			m[a]+=b;			
		}
		else{
			m.insert(pair<int, int>(a, b));	
		} 
		n--;
	}
    map<int,int>::iterator it;
	for(it = m.begin(); it != m.end(); it++) {
		cout<<it->first<<" "<<it->second<<endl;
	}
	

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章