4048 - revector
Cerința
Se dă un șir de numere naturale . Asupra șirului se aplică următoarele operații în această ordine:
- Se inversează prefixul
- ;
- Se inversează prefixul
- ;
- Se inversează prefixul
- ;
- …
- Se inversează prefixul
- .
Să se determine șirul după finalizarea operațiilor
Date de intrare
Se citește numărul , iar apoi numere naturale, separate prin spații.
Date de ieșire
Se afișează numere întregi, reprezenând elementele șirului după finalizarea operațiilor.
Exemplu:
Intrare
5 6 2 1 3 3
Ieșire
1 3 2 3 6
Lipeste codul aici:
Lipește codul aici
<syntaxhighlight lang="python" line="1"> import sys n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) b = [0] * (n + 2) l = 1 r = n for i in range(n, 0, -1):
if (n - i) % 2 == 0: b[i] = l l += 1 else: b[i] = r r -= 1
for i in range(1, n + 1):
sys.stdout.write(str(a[b[i]]) + " ")
sys.stdout.write("\n") </syntaxhighlight>