4048 - revector

From Bitnami MediaWiki
Revision as of 17:47, 8 December 2023 by Raul (talk | contribs) (Pagină nouă: = 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 element...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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")