22hhlin


私信TA

用户名:dotcpp0703740

访问量:3129

签 名:

好好学算法

等  级
排  名 11203
经  验 983
参赛次数 0
文章发表 15
年  龄 20
在职情况 学生
学  校 汕头大学
专  业 计算机科学与技术

  自我简介:


#include

using namespace std;


const int N = 1000010;

int p[N], a[N];


int find(int x) {

    if (x != p[x]) p[x] = find(p[x]);

    return p[x];

}


int main(void) {

    int n;

    scanf("%d", &n);

    for (int i = 1; i <= N; i++) p[i] = i;

    for (int i = 1; i <= n; i++) {

        scanf("%d", &a[i]);

    }

    for (int i = 1; i <= n; i++) {

        int father = find(a[i]);

        printf("%d ", father);

        p[father] = father + 1; 

    }

    return 0;

}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区