文章

166

粉丝

68

获赞

855

访问

61.7k

头像
序列翻转 题解:数学推演,发现关键
P1519
发布于2025年2月27日 10:45
阅读数 222

#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过大,数学运算后发现,取模后的移动数量相同。

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发