首页 > 代码库 > C语言 · 交换Easy
C语言 · 交换Easy
算法提高 交换Easy
时间限制:1.0s 内存限制:512.0MB
问题描述
给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列。
输入格式
第一行为序列的大小N(1<=N<=1000)和操作个数M(1<=M<=1000)。
第二行包含N个数字,表示初始序列。
接下来M行,每行两个整数x,y (1<=x,y<=N),表示要交换的两个整数。在一次交换中,如果x和y相等,则不会改变序列的内容。
第二行包含N个数字,表示初始序列。
接下来M行,每行两个整数x,y (1<=x,y<=N),表示要交换的两个整数。在一次交换中,如果x和y相等,则不会改变序列的内容。
输出格式
输出N行,为交换后的序列中的数。
样例输入
5 2
1 2 3 4 5
1 2
3 4
1 2 3 4 5
1 2
3 4
样例输出
2
1
4
3
5
1
4
3
5
1 #include<stdio.h> 2 #define max 1000 3 int a[max]; 4 int n,m; 5 void change(int x,int y){ 6 int temp = a[x-1]; 7 a[x-1] = a[y-1]; 8 a[y-1] = temp; 9 } 10 int main(){ 11 scanf("%d%d",&n,&m); 12 int x,y; 13 for(int i=0;i<n;i++){ 14 scanf("%d",&a[i]); 15 } 16 while(m--){ 17 scanf("%d%d",&x,&y); 18 change(x,y); 19 } 20 for(int i=0;i<n;i++){ 21 printf("%d\n",a[i]); 22 } 23 return 0; 24 }
C语言 · 交换Easy
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。