#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N],b[N];
int n,m;
void inverse(int a[], int st, int ed){
for(int i = st,j = 0; j < ((ed-st)/2); i++,j++){
int t = a[i];
a[i] = a[ed - j - 1];
a[ed - j - 1] = t;
}
}
int main(){
cin >> n >> m;
m %= n;//可能m比n大,因缺少这一行导致第二、三个测试点wa
for(int i = 0; i < n; i++){
cin >> a[i];
}
inverse(a,0,n);
inverse(a,0,m);
inverse(a,m,n);
for(int i = 0; i < n; i++){
cout << a[i];
if(i != n - 1){
cout <<" ";
}
}
return 0;
}
【PTA】1008 数组元素循环右移问题 (20分)
最新推荐文章于 2022-12-11 16:45:00 发布