Young Timofey has a birthday today! He got kit of n cubes as a
birthday present from his parents. Every cube has a number ai, which
is written on it. Timofey put all the cubes in a row and went to
unpack other presents.In this time, Timofey’s elder brother, Dima reordered the cubes using
the following rule. Suppose the cubes are numbered from 1 to n in
their order. Dima performs several steps, on step i he reverses the
segment of cubes from i-th to (n - i + 1)-th. He does this while
i ≤ n - i + 1.After performing the operations Dima went away, being very proud of
himself. When Timofey returned to his cubes, he understood that their
order was changed. Help Timofey as fast as you can and save the
holiday — restore the initial order of the cubes using information of
their current location. InputThe first line contains single integer n (1 ≤ n ≤ 2·105) — the number
of cubes.The second line contains n integers a1, a2, …, an
( - 109 ≤ ai ≤ 109), where ai is the number written on the i-th cube
after Dima has changed their order. OutputPrint n integers, separated by spaces — the numbers written on the
cubes in their initial order.It can be shown that the answer is unique.
观察可以发现,从左数奇数项交换,偶数项不换。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,a[200010];
int main()
{
int i;
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
for (i=1;i<=n/2;i+=2)
swap(a[i],a[n-i+1]);
for (i=1;i<=n;i++)
printf("%d%c",a[i],i==n?'\n':' ');
}