C语言 · 交换Easy
生活随笔
收集整理的這篇文章主要介紹了
C语言 · 交换Easy
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
算法提高 交換Easy ? 時(shí)間限制:1.0s ? 內(nèi)存限制:512.0MB 問(wèn)題描述 給定N個(gè)整數(shù)組成的序列,每次交換當(dāng)前第x個(gè)與第y個(gè)整數(shù),要求輸出最終的序列。 輸入格式 第一行為序列的大小N(1<=N<=1000)和操作個(gè)數(shù)M(1<=M<=1000)。
第二行包含N個(gè)數(shù)字,表示初始序列。
接下來(lái)M行,每行兩個(gè)整數(shù)x,y (1<=x,y<=N),表示要交換的兩個(gè)整數(shù)。在一次交換中,如果x和y相等,則不會(huì)改變序列的內(nèi)容。 輸出格式 輸出N行,為交換后的序列中的數(shù)。 樣例輸入 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個(gè)數(shù)字,表示初始序列。
接下來(lái)M行,每行兩個(gè)整數(shù)x,y (1<=x,y<=N),表示要交換的兩個(gè)整數(shù)。在一次交換中,如果x和y相等,則不會(huì)改變序列的內(nèi)容。 輸出格式 輸出N行,為交換后的序列中的數(shù)。 樣例輸入 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 }
?
總結(jié)
以上是生活随笔為你收集整理的C语言 · 交换Easy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql查询今天、昨天、7天、近30天
- 下一篇: Oracle之索引、权限