关键知识点:使用迭代器和map字典
map<int, int> m;:声明map对象
map<int, int>::iterator mi;:声明一个迭代器对象
for (mi = m.begin(); mi != m.end(); mi++):便利迭代器
mi->first:输出map的key
mi->second:输出map的val
#include <iostream> #include <map> using namespace std; int main() { int n = 0; map<int, int> m; map<int, int>::iterator mi; cin >> n; for (int i = 0; i < n; i++) { int a, b; cin >> a >> b; mi = m.find(a); if (mi != m.end()) { m[a] = mi->second + b; } else { m[a] = b; } } for (mi = m.begin(); mi != m.end(); mi++) { cout << mi->first << " " << mi->second << endl; } } // 64 位输出请用 printf("%lld")