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行,為交換后的序列中的數。 樣例輸入 5 2
1 2 3 4 5
1 2
3 4 樣例輸出 2
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 }
第二行包含N個數字,表示初始序列。
接下來M行,每行兩個整數x,y (1<=x,y<=N),表示要交換的兩個整數。在一次交換中,如果x和y相等,則不會改變序列的內容。 輸出格式 輸出N行,為交換后的序列中的數。 樣例輸入 5 2
1 2 3 4 5
1 2
3 4 樣例輸出 2
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql查询今天、昨天、7天、近30天
- 下一篇: Oracle之索引、权限