C++程序纸杯猜数需要source

纸杯猜数(C++制作)
你和小明正在玩纸杯猜数游戏。
小明在桌面上扣放了一排 n 个纸杯, 依次标号为 1~n。 每个纸杯内侧写有一个数字。
小明先将每个纸杯上的数字告诉小明, 然后他快速的进行了如下 m 次交换操作:
选择两个纸杯 u 和 v, 交换他们的位置。 (u 和 v 相同表示本次不交换)
现在小明想让你回答: m 次操作后依次排列的纸杯上的数字分别是多少。
第一行输入两个数 n,m, 分别表示纸杯数、 操作次数(1<=n,m<=50000)
第二行输入 n 个数, 分别表示每个纸杯内测的数字之后 m 行, 每行两个数 u,v, 表示将这两个纸杯交换
输出一行 n 个数, 表示交换后每个纸杯内测的数字依次是多少。 以空格隔开

输入
8 3
1 4 7 20 5 3 11 6
3 7
2 6
5 3
输出
1 3 5 20 11 4 7 6

http://t.csdn.cn/YjysN

可以获取n,m,以及各纸杯内的数字存入数组后,再进行m轮交换纸杯的操作,最后再输出纸杯内的数字即可。

代码如下:

参考链接:


#include <iostream>

using namespace std;

int main(void){
    // https://oj.qdturing.cn/d/A1002/p/51NODP446
    int n,m;
    int arr[50000]; // 存储最多50000个整数的int数组 
    int i=0;
    int u,v;
    
    cin>>n>>m;  // 从输入获取n和m的值 
    
    // 获取n个整数存入数组arr中 
    for(int i=0;i<n;i++){
        cin>>arr[i];
    } 
    
    // 进行m轮 交换纸杯的操作 
    while(i<m){
        
        cin>>u>>v;  // 获取要交换纸杯的标号 
        
        // 交换纸杯 
        int temp = arr[u-1];
        arr[u-1]=arr[v-1];
        arr[v-1]=temp;
        
         
        i++;   // 交换纸杯的次数+1 
    }
    
    
    // 打印结果    
    for(int i=0;i<n;i++){
        cout<<arr[i]<<" ";
    }
    
    
    
} 

img

【以下回答由 GPT 生成】

这个问题可以通过模拟纸杯交换的过程来解决。你可以按照以下步骤编写一个C++程序:

  1. 首先,从标准输入读取纸杯的个数n和交换操作的次数m。

  2. 创建一个整数数组cup,用来存储纸杯上的数字。然后从标准输入读取n个数字并依次存储到数组cup中。

  3. 创建一个for循环来模拟m次交换操作。每次循环中,从标准输入读取两个纸杯编号u和v,然后交换纸杯u和v的数字。注意,数组索引是从0开始的,所以需要将输入的纸杯编号减1。

  4. 执行完所有的交换操作后,输出cup数组中的数字。注意,输出结果时,纸杯的编号是从1开始的,所以需要将数组索引加1。

以下是一个可能的C++程序示例:

#include <iostream>
using namespace std;

void swap(int& a, int& b) {
    int temp = a;
    a = b;
    b = temp;
}

int main() {
    int n, m;
    cin >> n >> m;

    int* cup = new int[n];
    for (int i = 0; i < n; i++) {
        cin >> cup[i];
    }

    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        swap(cup[u-1], cup[v-1]);
    }

    for (int i = 0; i < n; i++) {
        cout << cup[i] << " ";
    }
    cout << endl;

    delete[] cup;

    return 0;
}

你可以将上面的代码保存为一个名为"cup_guess.cpp"的文件,并通过C++编译器来编译和运行该程序。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^