题解 | #合并表记录#

合并表记录

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

#include<stdio.h>
int main() {
    typedef struct {
        int index;
        int value;
    } Map;
    int n, flag = 0;
    while (scanf("%d", &n) != EOF) {
        Map map[n];
        for (int i = 0; i < n; i++) {
            scanf("%d %d", &map[i].index, &map[i].value);
        }
        for (int i = 0; i < n - 1; i++) {
            for (int j = i + 1; j < n; j++) {
                if (map[i].index > map[j].index) {
                    Map temp;
                    temp=map[i];
                    map[i]=map[j];
                    map[j]=temp;
                }
            }
        }
        for (int i = 1; i <= n; i++) {
            if (map[flag].index == map[i].index) map[flag].value += map[i].value;
            else {
                printf("%d %d\n", map[flag].index, map[flag].value);
                flag = i;
            }
        }
    }
    return 0;
}

全部评论

相关推荐

10-14 21:00
门头沟学院 Java
吃花椒的狸猫:这个人说的倒是实话,特别是小公司,一个实习生哪里来的那么多要求
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务