題目描述:數據表記錄包含表索引和數值,請對表索引相同的記錄進行合并,即將相同索引的數值進行求和運算,輸出按照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;}
新聞熱點
疑難解答
圖片精選