dhjkjnjjs 2024-03-24 18:31 采纳率: 80%
浏览 18
已结题

【基础】粉丝邻居怎么做?

【基础】粉丝邻居
题目描述
顾客就是上帝!
你是“喜加加客栈”的掌柜,也是远近闻名的五星掌柜,当然也会遵守这句经商格言。
你有很多房间,从1号房间开始,连续住了n个客人(n≤10000)。
某天,x号房间的客人来找你:“我想到搬到y号房间客人的前面,我想跟他成为邻居。”
问过其他客人,他们都同意。
“OK!没问题!”你满口答应,然后安排伙计经过一番折腾,终于实现了客人的要求。
记录旅客住宿安排的册子上也更新好了。你也收到了顾客的五星好评!
输入
输入三行。
第一行,1个整数n,表示房间的个数。
第二行,n个整数,表示每个房间里客人的名单。
第三行,2个整数,x表示要搬出的房间号码,y表示插入目标的房间号码。
输出
输出一行,表示按照房间号码顺序排列的最新客人名单。

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-03-24 18:32
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    这是一个基础的数组操作问题,可以使用C++来解决。你可以先读取输入,然后将客人列表存储在一个数组或向量中,接着根据要求移动指定位置的元素。这里是一个简单的C++代码示例来解决这个问题:

    #include <iostream>
    #include <vector>
    
    int main() {
        int n;
        std::cin >> n; // 输入房间数量
    
        // 输入每个房间的客人
        std::vector<int> guests(n);
        for (int i = 0; i < n; ++i) {
            std:cin >> guests[i];
        }
    
        int x, y;
        std:cin >> x >> y; // 输入要移动的房间号和目标位置的房间号
    
        // 检查x和y是否在有效范围内,并进行移动操作
        if (x > 0 && x <= n && y > 0 && y <= n) {
            std::swap(guests[x - 1], guests[y - 1]); // 使用交换操作将x号房间的客人移到y号房间的位置
        }
    
        // 输出更新后的客人名单
        for (int guest : guests) {
            std::cout << guest << " ";
        }
    
        return 0;
    }
    

    这段代码首先读取房间数量n,然后读取每个房间的客人编号到一个向量guests中。接着读取需要移动的房间号x和目标位置的房间号y,并检查它们是否在有效范围内。如果在范围内,就使用std::swap函数交换这两个位置的客人。最后,遍历更新后的向量并输出每个客人的编号。

    请注意,这个解决方案假设房间号码是从1开始的,并且输入总是有效的。在实际应用中,你可能需要添加错误处理来确保输入的正确性。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日