题解 | 合并表记录
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <iostream> using namespace std; int main() { int a[2][505]; int b; cin >> b; for (int i = 0; i < b; i++) { cin >> a[0][i] >> a[1][i]; } for (int i = 0; i < b; i++) { if (a[0][i] == -1) continue;//合并且标记不用动 for (int j = i + 1; j < b; j++) { if (a[0][i] == a[0][j]) { a[1][i] += a[1][j]; a[0][j] = -1; a[1][j] = -1; } } } for (int i = 0; i < b; i++) { for (int j = 0; j < b - i - 1; j++) { if (a[0][j] > a[0][j + 1]) { // 升序排序 swap(a[0][j], a[0][j + 1]); swap(a[1][j], a[1][j + 1]); } } } for (int i = 0; i < b; i++) { if (a[0][i] == -1) continue; cout << a[0][i] << " " << a[1][i] << '\n'; } return 0; }