#13218. 珅泽教育CSP-J第一轮模拟考第十七套 第 31 题

珅泽教育CSP-J第一轮模拟考第十七套 第 31 题

程序阅读(3):函数图与环

using i64 = long long;
int solve(int N, i64 K, int A[])
{
    std::vector<int> path;
    std::vector<int> pos(N + 1, -1);

    int cur = 1;
    while (pos[cur] == -1)
    {
        pos[cur] = path.size();
        path.push_back(cur);
        cur = A[cur];
    }

    int start = pos[cur];
    int cycle = path.size() - start;

    if (K < start)
        return path[K];
    return path[start + ((K - start) % cycle)];
}

path 数组中可能包含重复的编号。( )

{{ select(1) }}

  • 正确
  • 错误