题解 | 合并表记录

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

#include <iostream>
using namespace std;

typedef struct {
    int index;
    int value;
    bool flag;
} item;

int main() {
    int n;
    cin >> n;
    item a[n];
    for (int i = 0; i < n; i++) {
        cin >> a[i].index >> a[i].value;
        a[i].flag = true;
    }
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (a[i].index == a[j].index && a[j].flag) {
                a[i].value += a[j].value;
                a[j].flag = false;
            }
        }
    }
    int index;
    for (int i = 0; i < n; i++) {
        index=0;
        int min=11111112;
        bool ischange=false;
        for (int j = 0; j < n; j++) {
            if (min > a[j].index && a[j].flag) {
                min = a[j].index;
                index = j;
                ischange=true;
            }
        }
        if(!ischange)   break;
        cout << a[index].index << " " << a[index].value << endl;
        a[index].flag = false;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

02-22 21:16
已编辑
门头沟学院 运营
牛客928043833号:离了你谁还拿我当个宝
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务