题目:Shift(atcoder)
题目大意:
给定一个长度为n的序列和一个正整数k,求出将序列n向左移动k位后的新序列。
思路:
考虑到当数列向左移动时,没有数的位置将输出0,于是我们可以从序列的k+1位开始输出,当输出完该序列后就输出0。
例如样例输入#3:
我们可以发现,输入的第6位开始,就和输出的一样了。
即从输入的k+1位开始,输出和输入开始重合。
代码:
#include<bits/stdc++.h>
using namespace std;
int n,k,a[1009];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=k+1;i<=n+k;i++)
cout<<a[i]<<" ";
//因为全局变量的初值为0,所以能直接输出
return 0;
}