竞赛
考级
看了一下题解发现大家都好强,疑似最区之人出没,大佬您别看了 好像没啥好讲的,但是好像题解里没人用这种方法是怎么回事[思考] 没啥特点,就是简单,小白专属
第一种:交换输出顺序 第二种:用swap函数 第三种:异或和 第四种:新添变量 如果此条题解有用,麻烦点个赞 关注一下
题目描述 给出一个 偶数 个元素的整数数组。请你将其按如下方式成对交换:交换第 1 个与第 2 个,交换第 3 个与第 4 个,交换第 5 个与第 6 个,以此类推。 输出交换完成后的数组。 输入格式 第一行一个偶数整数 n,表示序列长度。 第二行包含 n 个整数,记为 a 1 ,a 2 ,…,a n 。 输出格式 输出一行 n 个整数,为交换完成后的序列;相邻两数之间用一个空格分隔。 注意这里是a[i] <= 10⁹,所以开int没事。 这里有两个版本,如下: 版本一(数组无注释): 版本二(向量无注释):
懒得写注释了
很简单,就是换 先给你们看我源代码 没看见n<=2*1e5
#include<bits/stdc++.h> using namespace std; long long a[200005];//注意这里要开long long不然会RE(别问我这么知道的,问就是我错过) int main(){ long long n,b,c,m;//这里也要开long long,但n可以不用开 cin >> n; for(int i = 0;i <= n;i++){ cin >> a[i];//输入 } for(int i = 1;i <= n;i += 2){ b = a[i]; m = i - 1; c = a[m]; //交换a[i]和a[i - 1] cout << b << " " << c << " ";//输出 } return 0; }
#include<bits/stdc++.h>//submitRecord// using namespace std; //const int N=1e7+10; int main(){ //freopen("","r",stdin); //freopen("","w",stdout); ios::sync_with_stdio(); cin.tie(nullptr); cout.tie(nullptr); int n; cin>>n; for(int i=1;i<=n/2;i++){ int a,b; cin>>a>>b; cout<<b<<" "<<a<<" "; } //fclose(stdin); //fclose(stdout); return 0; }
提交答案之后,这里将显示提交结果~