题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <iostream> using namespace std; int main() { int n; cin >> n; int i,v; int j=0; int a[500]; int b[500]; int f; int k; for(k=0;k<500;k++){ a[k] = -1; b[k] = -1; } // cout << a[0]; while(n--){ cin >> i; cin >> v; // cout << i << v << "nnn" << endl; for(k=0;k<500;k++){ if(a[k] == i){ b[k] = b[k] +v; // cout << a[k] << " " << b[k] << " " << k << " " << i << endl; f=0; break; } else { f=1; } } // cout << "j" << j << f << endl; if(f==1){ a[j] = i; b[j] = v; j++; } } int t; for(i=0;i<499;i++){ for(k=i+1;k<500;k++){ if(a[i] > a[k]){ t = a[i]; a[i] = a[k]; a[k] = t; t = b[i]; b[i] = b[k]; b[k] = t; } } } for(k=0;k<500;k++){ if(a[k] != -1){ cout << a[k] << " " << b[k] << endl; } } } // 64 位输出请用 printf("%lld")