【基础】粉丝邻居
题目描述
顾客就是上帝!
你是“喜加加客栈”的掌柜,也是远近闻名的五星掌柜,当然也会遵守这句经商格言。
你有很多房间,从1号房间开始,连续住了n个客人(n≤10000)。
某天,x号房间的客人来找你:“我想到搬到y号房间客人的前面,我想跟他成为邻居。”
问过其他客人,他们都同意。
“OK!没问题!”你满口答应,然后安排伙计经过一番折腾,终于实现了客人的要求。
记录旅客住宿安排的册子上也更新好了。你也收到了顾客的五星好评!
输入
输入三行。
第一行,1个整数n,表示房间的个数。
第二行,n个整数,表示每个房间里客人的名单。
第三行,2个整数,x表示要搬出的房间号码,y表示插入目标的房间号码。
输出
输出一行,表示按照房间号码顺序排列的最新客人名单。
【基础】粉丝邻居怎么做?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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开始的,并且输入总是有效的。在实际应用中,你可能需要添加错误处理来确保输入的正确性。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用 1