美文网首页
PAT甲级A1097---链表处理

PAT甲级A1097---链表处理

作者: 1nvad3r | 来源:发表于2020-07-29 15:39 被阅读0次

1097 Deduplication on a Linked List (25分)

1097
分析:

使用data[add]记录地址为add的数的值,nextAdd[add]记录add下一个结点的地址,list数组按顺序记录删掉重复元素后的结点地址,removedList数组按顺序记录删掉的结点的地址。

C++:
#include <cstdio>
#include <algorithm>

using namespace std;

const int maxn = 100010;

int data[maxn], nextAdd[maxn], list[maxn], removedList[maxn];
bool isExist[10100];

int main() {
    int begin, n;
    scanf("%d%d", &begin, &n);
    int add;
    for (int i = 0; i < n; i++) {
        scanf("%d", &add);
        scanf("%d%d", &data[add], &nextAdd[add]);
    }
    int cnt1 = 0, cnt2 = 0;
    while (begin != -1) {
        int key = abs(data[begin]);
        if (isExist[key] == false) {
            list[cnt1++] = begin;
            isExist[key] = true;
        } else {
            removedList[cnt2++] = begin;
        }
        begin = nextAdd[begin];
    }
    for (int i = 0; i < cnt1; i++) {
        if (i != cnt1 - 1) {
            printf("%05d %d %05d\n", list[i], data[list[i]], list[i + 1]);
        } else {
            printf("%05d %d -1\n", list[i], data[list[i]]);
        }
    }
    for (int i = 0; i < cnt2; i++) {
        if (i != cnt2 - 1) {
            printf("%05d %d %05d\n", removedList[i], data[removedList[i]], removedList[i + 1]);
        } else {
            printf("%05d %d -1\n", removedList[i], data[removedList[i]]);
        }
    }
    return 0;
}

相关文章

  • PAT甲级A1097---链表处理

    1097 Deduplication on a Linked List (25分) 分析: 使用data[add]...

  • PAT甲级A1052---链表处理

    1052 Linked List Sorting (25分) 分析: 注意有效结点等于0的时候特判。 C++:

  • PAT A1001 A+B Format (20)

    PAT A1001 A+B Format 原题链接PAT甲级题目目录(简书)PAT甲级题目目录(CSDN)在CSD...

  • PAT 链表处理

    1.反转链表 注意点: 1.要考虑可能存在的无效结点的情况,即不是由题目给出的头结点引出的单链表上的结点,这些结点...

  • 字符串输入问题

    PAT 甲级 1100 People on Mars count their numbers with base ...

  • PAT甲级A1074---反转链表

    1074 Reversing Linked List (25分) 分析: 使用data[add]记录地址为add的...

  • PAT甲级题解 全部 JAVA版 持续更新

      临近过年,闲来无事。恰逢弟弟准备考PAT甲级,总是问我一些问题。又见网上PAT甲级多为c/c++版本的答案。罕...

  • PAT甲级 1043 Is It a Binary Search

    原题链接 PAT甲级 1043 Is It a Binary Search Tree (25 分) 题目大意 给定...

  • 2020-02-06

    PAT-甲级 做题笔记 目录 0000 做题 Tips 基本经验1003 Emergency (Dijkstra ...

  • Pat 甲级 1001

    太感人终于把1001做对了,一开始没有看清题目要求。产生各种各样的错误,最后又有编译错误。在Pat中Java的类名...

网友评论

      本文标题:PAT甲级A1097---链表处理

      本文链接:https://www.haomeiwen.com/subject/llkhrktx.html