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

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

程序阅读(2):螺旋坐标

using pair = std::pair<int, int>;
pair find(int n, int k)
{
    if (n == 1) {
        return {1, 1};
    }
    if (k <= n - 1) {
        return {1, k};
    }
    else {
        k -= n - 1;
    }
    if (k <= n - 1) {
        return {k, n};
    }
    else {
        k -= n - 1;
    }
    if (k <= n - 1) {
        return {n, n + 1 - k};
    }
    else {
        k -= n - 1;
    }
    if (k <= n - 1) {
        return {n + 1 - k, 1};
    }
    else {
        k -= n - 1;
    }
    auto p = find(n - 2, k);
    return {p.first + 1, p.second + 1};
}

find(n-2, k) 返回 {a, b},则 find(n, k + 4*(n-1)) 返回( )。

{{ select(1) }}

  • {a, b}
  • {a+1, b+1}
  • {a-1, b-1}
  • {a+1, b}