文章
166
粉丝
68
获赞
855
访问
61.7k
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,m;
while(cin>>n>>m){
m%=n;
int a[n];
for(int i=n-1;i>=0;i--)cin>>a[i];
for(int i=n-m;i<n;i++)cout<<a[i]<<' ';
for(int i=0;i<n-m;i++)cout<<a[i]<<' ';
cout<<endl;
}
}
推演后发现,我们的移动其实可以不做,翻转在读取的时候做点特殊化也可以做到,然后对于移动的设计,其实就是尾部先输出,然后输出前端剩余部分即可。对于m过大,数学运算后发现,取模后的移动数量相同。
登录后发布评论
暂无评论,来抢沙发