4048 - revector: Difference between revisions

From Bitnami MediaWiki
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...
 
Raul (talk | contribs)
No edit summary
 
Line 36: Line 36:


=== Lipește codul aici ===
=== Lipește codul aici ===
1
<syntaxhighlight lang="python" line="1">
​import sys
​import sys
 
n = int(sys.stdin.readline())
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
 
b = [0] * (n + 2)
a = list(map(int, sys.stdin.readline().split()))
l = 1
 
r = n
b = [0] * (n + 2)
for i in range(n, 0, -1):
 
    if (n - i) % 2 == 0:
l = 1
        b[i] = l
 
        l += 1
r = n
    else:
 
        b[i] = r
for i in range(n, 0, -1):
        r -= 1
 
for i in range(1, n + 1):
    if (n - i) % 2 == 0:
    sys.stdout.write(str(a[b[i]]) + " ")
 
sys.stdout.write("\n")
        b[i] = l
</syntaxhighlight>
 
        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")

Latest revision as of 14:09, 14 December 2023

Cerința[edit | edit source]

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[edit | edit source]

Se citește numărul , iar apoi numere naturale, separate prin spații.

Date de ieșire[edit | edit source]

Se afișează numere întregi, reprezenând elementele șirului după finalizarea operațiilor.

Exemplu:[edit | edit source]

Intrare

5
6 2 1 3 3

Ieșire

1 3 2 3 6

Lipeste codul aici:

Lipește codul aici[edit | edit source]

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