输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
思路:m有可能大于n,先用m%n取余。循环移动m个数,可以先把整个数组倒转,再把前m个数倒转,最后再把后面n-m个数倒转即可
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn=105;
int main()
{
int n,m;
cin>>n>>m;
int arr[maxn];
for(int i=0;i<n;i++)
cin>>arr[i];
m=m%n;
if(m!=0){
reverse(begin(arr),begin(arr)+n);
reverse(begin(arr),begin(arr)+m);
reverse(begin(arr)+m,begin(arr)+n);
}
for (int i = 0; i < n - 1; i++)
cout << arr[i] << " ";
cout << arr[n - 1];
return 0;
}