蒟蒻求助,超时了
  • 板块P11463 N角进攻
  • 楼主James13
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/25 20:10
  • 上次更新2024/12/26 11:44:52
查看原帖
蒟蒻求助,超时了
1412864
James13楼主2024/12/25 20:10
#include <iostream>
#include <vector>

// 模拟 n 角进攻的传球过程
std::vector<int> nAngleAttack(int n, int x, int k) {
    std::vector<int> players(n);
    for (int i = 0; i < n; i++) {
        players[i] = i + 1;
    }

    int mid = n / 2;
    int direction = x;  // 0 表示向左,1 表示向右

    for (int i = 0; i < k; i++) {
        if (direction == 0) {  // 向左传球
            int temp = players[mid];
            players.erase(players.begin() + mid);
            players.insert(players.begin(), temp);
        } else {  // 向右传球
            int temp = players[mid];
            players.erase(players.begin() + mid);
            players.push_back(temp);
        }
        direction = 1 - direction;  // 改变传球方向
    }

    return players;
}

int main() {
    int T;
    std::cin >> T;

    while (T--) {
        int n, x, k;
        std::cin >> n >> x >> k;

        std::vector<int> result = nAngleAttack(n, x, k);
        for (int num : result) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}
2024/12/25 20:10
加载中...