MHuiG

「看庭前花开花落,望天上云卷云舒」

Github

友链

关于

Travelling

# Mac Code Test

MHuiG

字数：331 字

时长：2 分钟

本项测试可能已失效

代码块全屏测试

How To Use?

导入库文件即可

    <link rel='stylesheet' href='https://static.mhuig.top/gh/MHuiG/blog-cdn@1.1.12/css/me.css'>
    <script src='https://static.mhuig.top/gh/MHuiG/blog-cdn@1.1.12/js/me.js'></script>

cpp code

    #include <iostream>
    using namespace std;

    int main()
    {
        cout << "Hello, World!";
        return 0;
    }

python code

    #!/usr/bin/python

    print ("Hello, Python!")

code

    #include <cstdio>
    #include <iostream>
    #include <vector>

    using namespace std;

    const int SIZE = 5e6 + 1;

    struct edge
    {
        int to_node, id;
        edge(int t, int i): to_node(t), id(i) {}
        ~edge() = default;
    };

    vector<int> edges[SIZE];
    vector<edge> querys[SIZE];
    int father[SIZE], mark[SIZE], ans[SIZE];

    int n, m, s;

    int getfa(int x)
    {
        if (father[x] == x)
            return x;
        else
            return father[x] = getfa(father[x]);
    }

    void tarjan(int x)
    {
        mark[x] = 1;
        for (auto i = edges[x].begin(); i != edges[x].end(); i++)
        {
            if (mark[*i])
                continue;
            tarjan(*i);
            father[*i] = x;
        }
        for (auto i = querys[x].begin(); i != querys[x].end(); i++)
        {
            int y = (*i).to_node, id = (*i).id;
            if (mark[y] == 2)
                ans[id] = getfa(y);
        }
        mark[x] = 2;
    }

    int main()
    {
        int u, v;
        scanf("%d%d%d", &n, &m, &s);
        for (int i = 1; i <= n; i++)
        {
            father[i] = i;
            mark[i] = 0;
        }
        for (int i = 1; i < n; i++)
        {
            scanf("%d%d", &u, &v);
            edges[u].emplace_back(v);
            edges[v].emplace_back(u);
        }
        int x, y;
        for (int i = 1; i <= m; i++)
        {
            scanf("%d%d", &x, &y);
            if (x == y)
                ans[i] = 0;
            else
            {
                querys[x].emplace_back(edge(y, i));
                querys[y].emplace_back(edge(x, i));
            }
        }
        tarjan(s);
        for (int i = 1; i <= m; i++)
            printf("%d\n", ans[i]);
        return 0;
    }

Mac Code Test
https://blog.mhuig.top/p/91953e39/
本文作者
MHuiG
发布于
2020年4月30日
许可协议
CC BY-NC-SA 4.0
署名-非商业性使用-相同方式共享 4.0 国际。
实验性 实验性

实验性

实验性

发布于：2020年4月30日

更新于：2020年4月30日

大数据技术概述

大数据时代 第三次信息化浪潮根据 IBM 前首席执行官郭士纳的观点，IT 领域每隔十五年就会迎来一次重大变革 信息化浪潮 发生时间 标志 解决问题 代表企业 第一次浪潮 1980 ...

图片墙

* { margin: 0; padding: 0;} .list { width: 100%; margin: 0 auto; overflow: hidden; zoom: 1;} .li...

留言区

Are you Robot?