Submission details
Task:Kirjat
Sender:konstikas
Submission time:2015-09-28 23:17:56 +0300
Language:Python3
Status:READY
Result:82
Feedback
groupverdictscore
#10
#2ACCEPTED25
#3ACCEPTED57
Test results
testverdicttimegroup
#1ACCEPTED0.10 s1details
#2ACCEPTED0.11 s1details
#3ACCEPTED0.10 s1details
#40.11 s1details
#5ACCEPTED0.12 s1details
#6ACCEPTED0.11 s1details
#7ACCEPTED0.10 s1details
#8ACCEPTED0.11 s1details
#9ACCEPTED0.10 s1details
#10ACCEPTED0.10 s1details
#11ACCEPTED0.10 s1details
#12ACCEPTED0.11 s1details
#13ACCEPTED0.10 s1details
#14ACCEPTED0.11 s1details
#15ACCEPTED0.11 s1details
#16ACCEPTED0.11 s1details
#17ACCEPTED0.11 s1details
#18ACCEPTED0.11 s1details
#19ACCEPTED0.10 s1details
#20ACCEPTED0.10 s1details
#21ACCEPTED0.14 s2details
#22ACCEPTED0.11 s2details
#23ACCEPTED0.10 s2details
#24ACCEPTED0.11 s2details
#25ACCEPTED0.10 s2details
#26ACCEPTED0.11 s2details
#27ACCEPTED0.12 s2details
#28ACCEPTED0.10 s2details
#29ACCEPTED0.12 s2details
#30ACCEPTED0.11 s2details
#31ACCEPTED0.10 s2details
#32ACCEPTED0.10 s2details
#33ACCEPTED0.12 s2details
#34ACCEPTED0.11 s2details
#35ACCEPTED0.11 s2details
#36ACCEPTED0.10 s2details
#37ACCEPTED0.11 s2details
#38ACCEPTED0.10 s2details
#39ACCEPTED0.10 s2details
#40ACCEPTED0.10 s2details
#41ACCEPTED0.10 s3details
#42ACCEPTED0.09 s3details
#43ACCEPTED0.12 s3details
#44ACCEPTED0.10 s3details
#45ACCEPTED0.11 s3details
#46ACCEPTED0.10 s3details
#47ACCEPTED0.10 s3details
#48ACCEPTED0.10 s3details
#49ACCEPTED0.12 s3details
#50ACCEPTED0.09 s3details
#51ACCEPTED0.11 s3details
#52ACCEPTED0.10 s3details
#53ACCEPTED0.10 s3details
#54ACCEPTED0.10 s3details
#55ACCEPTED0.10 s3details
#56ACCEPTED0.21 s3details
#57ACCEPTED0.21 s3details
#58ACCEPTED0.20 s3details
#59ACCEPTED0.21 s3details
#60ACCEPTED0.21 s3details

Code

#!/usr/bin/env python3

from collections import deque
from random import shuffle

def testaa(n):
    luvut = list(range(1, n + 1))
    shuffle(luvut)
    uolevi = luvut
    tokat = list(range(1, n + 1))
    shuffle(tokat)
    for i, k in enumerate(tokat):
        if k == luvut[i]:
            if i > 0:
                tokat[i - 1], tokat[i] = tokat[i], tokat[i - 1]
            else:
                tokat[i + 1], tokat[i] = tokat[i], tokat[i + 1]
    maija = tokat
    return uolevi, maija

def kaalepin(uolevi, maija):
    luetut = set()
    kaaleppi = []
    lue = deque(uolevi[2:] + uolevi[:2])

    for i in range(len(uolevi)):
        poistoon = []
        for k in lue:
            if k in luetut:
                poistoon.append(k)
                continue
            if uolevi[i] == k or maija[i] == k:
                continue
            luetut.add(k)
            kaaleppi.append(k)
            poistoon.append(k)
            break
        else:
            kaaleppi[0], vaihda = k, kaaleppi[0]
            kaaleppi.append(vaihda)
            poistoon.append(k)
        for k in poistoon:
            lue.remove(k)
    return kaaleppi

def main():
    n = int(input())
    uolevi = input().split()
    maija = input().split()
    print(' '.join(kaalepin(uolevi, maija)))

def tarkista(uolevi, maija, kaaleppi):
    for u, m, k in zip(uolevi, maija, kaaleppi):
        if u == k or m == k:
            print(k, 'osuu samaan')
            return False
    return True

def aja_testi():
    print('testaan...')
    for n in range(3, 10000, 10):
        uolevi, maija = testaa(n)
        kaaleppi = kaalepin(uolevi, maija)
        if len(kaaleppi) < len(uolevi):
            print('virhe pituudessa!', n)
            return
        if not tarkista(uolevi, maija, kaaleppi):
            print('virhe pituudella', n)
            print(uolevi)
            print(maija)
            print(kaaleppi)
            return

if __name__ == '__main__':
    # aja_testi()
    main()

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
3
2 1 3
3 2 1

correct output
1 3 2 

user output
1 3 2

Test 2

Group: 1

Verdict: ACCEPTED

input
4
2 1 4 3
1 4 3 2

correct output
4 3 2 1 

user output
4 3 2 1

Test 3

Group: 1

Verdict: ACCEPTED

input
4
4 3 2 1
3 1 4 2

correct output
1 2 3 4 

user output
2 4 1 3

Test 4

Group: 1

Verdict:

input
4
3 4 2 1
2 3 1 4

correct output
1 2 4 3 

user output
4 2 3 1

Test 5

Group: 1

Verdict: ACCEPTED

input
4
4 1 3 2
2 3 1 4

correct output
1 4 2 3 

user output
3 2 4 1

Test 6

Group: 1

Verdict: ACCEPTED

input
5
5 1 3 2 4
3 4 2 1 5

correct output
2 3 4 5 1 

user output
2 3 4 5 1

Test 7

Group: 1

Verdict: ACCEPTED

input
5
4 2 3 5 1
3 5 2 1 4

correct output
1 4 5 2 3 

user output
5 3 1 4 2

Test 8

Group: 1

Verdict: ACCEPTED

input
5
1 4 3 2 5
4 3 1 5 2

correct output
3 2 5 1 4 

user output
3 2 5 1 4

Test 9

Group: 1

Verdict: ACCEPTED

input
5
5 3 2 1 4
4 2 1 3 5

correct output
1 4 5 2 3 

user output
2 1 4 5 3

Test 10

Group: 1

Verdict: ACCEPTED

input
5
4 3 5 1 2
5 1 3 2 4

correct output
2 5 1 4 3 

user output
1 5 2 4 3

Test 11

Group: 1

Verdict: ACCEPTED

input
5
5 1 3 2 4
2 5 4 3 1

correct output
3 4 2 1 5 

user output
1 2 5 4 3

Test 12

Group: 1

Verdict: ACCEPTED

input
5
5 4 2 1 3
2 3 5 4 1

correct output
3 1 4 5 2 

user output
1 2 3 5 4

Test 13

Group: 1

Verdict: ACCEPTED

input
5
1 5 2 4 3
5 1 4 3 2

correct output
3 2 5 1 4 

user output
2 4 3 1 5

Test 14

Group: 1

Verdict: ACCEPTED

input
5
5 3 4 2 1
3 5 2 1 4

correct output
1 2 3 4 5 

user output
4 2 1 5 3

Test 15

Group: 1

Verdict: ACCEPTED

input
5
4 5 3 2 1
3 2 1 4 5

correct output
5 3 2 1 4 

user output
5 3 4 1 2

Test 16

Group: 1

Verdict: ACCEPTED

input
10
4 9 1 10 6 8 7 2 3 5
8 5 7 3 1 6 4 10 2 9

correct output
3 1 9 2 4 7 8 6 5 10 

user output
9 10 6 8 7 2 3 5 4 1

Test 17

Group: 1

Verdict: ACCEPTED

input
10
6 10 8 2 3 5 7 1 4 9
4 1 2 10 5 6 9 3 8 7

correct output
5 7 1 3 9 2 4 10 6 8 

user output
8 2 3 5 7 1 4 9 6 10

Test 18

Group: 1

Verdict: ACCEPTED

input
10
8 2 9 10 1 6 4 7 3 5
3 8 4 5 6 7 9 10 1 2

correct output
1 6 8 9 5 4 10 3 2 7 

user output
2 10 1 6 4 3 7 5 8 9

Test 19

Group: 1

Verdict: ACCEPTED

input
10
6 3 8 9 5 7 4 10 1 2
8 9 10 1 3 6 2 7 4 5

correct output
5 1 6 2 8 10 7 3 9 4 

user output
9 8 5 7 4 10 1 2 6 3

Test 20

Group: 1

Verdict: ACCEPTED

input
10
8 3 5 6 2 10 4 7 1 9
4 7 8 10 5 2 6 1 9 3

correct output
1 5 7 3 10 6 9 4 2 8 

user output
3 6 2 4 10 7 1 9 8 5

Test 21

Group: 2

Verdict: ACCEPTED

input
3
3 2 1
1 3 2

correct output
2 1 3 

user output
2 1 3

Test 22

Group: 2

Verdict: ACCEPTED

input
4
2 3 1 4
1 4 3 2

correct output
3 2 4 1 

user output
4 1 2 3

Test 23

Group: 2

Verdict: ACCEPTED

input
4
2 4 3 1
4 1 2 3

correct output
3 2 1 4 

user output
3 2 1 4

Test 24

Group: 2

Verdict: ACCEPTED

input
4
4 1 2 3
1 3 4 2

correct output
3 2 1 4 

user output
2 4 3 1

Test 25

Group: 2

Verdict: ACCEPTED

input
4
2 1 3 4
4 3 2 1

correct output
3 4 1 2 

user output
3 4 1 2

Test 26

Group: 2

Verdict: ACCEPTED

input
5
2 5 3 1 4
4 2 1 5 3

correct output
5 4 2 3 1 

user output
3 1 4 2 5

Test 27

Group: 2

Verdict: ACCEPTED

input
5
1 4 3 2 5
5 2 4 1 3

correct output
4 5 2 3 1 

user output
3 5 2 4 1

Test 28

Group: 2

Verdict: ACCEPTED

input
5
1 4 2 3 5
2 3 1 5 4

correct output
4 5 3 1 2 

user output
4 2 5 1 3

Test 29

Group: 2

Verdict: ACCEPTED

input
5
4 5 2 3 1
5 3 1 2 4

correct output
1 2 3 4 5 

user output
2 1 3 4 5

Test 30

Group: 2

Verdict: ACCEPTED

input
5
3 2 1 5 4
5 4 3 1 2

correct output
4 5 2 3 1 

user output
2 5 4 3 1

Test 31

Group: 2

Verdict: ACCEPTED

input
5
5 3 1 2 4
3 2 4 1 5

correct output
4 5 2 3 1 

user output
1 4 2 5 3

Test 32

Group: 2

Verdict: ACCEPTED

input
5
5 4 1 2 3
1 5 3 4 2

correct output
2 3 4 5 1 

user output
2 1 5 3 4

Test 33

Group: 2

Verdict: ACCEPTED

input
5
1 4 5 3 2
3 5 2 4 1

correct output
5 1 3 2 4 

user output
5 3 1 2 4

Test 34

Group: 2

Verdict: ACCEPTED

input
5
3 4 2 1 5
1 5 3 4 2

correct output
2 3 4 5 1 

user output
2 1 5 3 4

Test 35

Group: 2

Verdict: ACCEPTED

input
5
2 3 1 5 4
5 4 2 1 3

correct output
1 2 3 4 5 

user output
3 5 4 2 1

Test 36

Group: 2

Verdict: ACCEPTED

input
1000
63 72 78 267 740 551 517 698 6...

correct output
26 926 267 321 385 444 968 690...

user output
78 267 740 551 517 698 660 452...

Test 37

Group: 2

Verdict: ACCEPTED

input
1000
954 273 839 263 331 161 938 51...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
839 263 331 161 938 516 427 79...

Test 38

Group: 2

Verdict: ACCEPTED

input
1000
740 142 781 837 759 392 582 14...

correct output
111 291 702 70 561 469 707 897...

user output
781 837 759 392 582 140 242 34...

Test 39

Group: 2

Verdict: ACCEPTED

input
1000
960 550 210 529 691 277 63 975...

correct output
716 604 535 519 27 204 574 592...

user output
210 529 691 277 63 975 513 858...

Test 40

Group: 2

Verdict: ACCEPTED

input
1000
371 772 197 202 504 931 4 46 6...

correct output
26 926 267 321 385 444 968 690...

user output
197 202 504 931 4 46 633 574 5...

Test 41

Group: 3

Verdict: ACCEPTED

input
3
1 2 3
3 1 2

correct output
2 3 1 

user output
2 3 1

Test 42

Group: 3

Verdict: ACCEPTED

input
4
4 2 3 1
2 3 1 4

correct output
1 4 2 3 

user output
3 1 4 2

Test 43

Group: 3

Verdict: ACCEPTED

input
4
2 1 4 3
4 3 1 2

correct output
1 2 3 4 

user output
3 4 2 1

Test 44

Group: 3

Verdict: ACCEPTED

input
4
1 4 2 3
2 3 4 1

correct output
3 2 1 4 

user output
3 2 1 4

Test 45

Group: 3

Verdict: ACCEPTED

input
4
2 1 4 3
1 3 2 4

correct output
4 2 3 1 

user output
4 2 3 1

Test 46

Group: 3

Verdict: ACCEPTED

input
5
3 1 5 2 4
5 4 2 1 3

correct output
1 2 3 4 5 

user output
2 5 4 3 1

Test 47

Group: 3

Verdict: ACCEPTED

input
5
2 1 5 3 4
5 3 2 4 1

correct output
4 5 3 1 2 

user output
1 5 4 2 3

Test 48

Group: 3

Verdict: ACCEPTED

input
5
5 1 4 3 2
3 5 1 2 4

correct output
1 2 3 4 5 

user output
4 3 2 5 1

Test 49

Group: 3

Verdict: ACCEPTED

input
5
2 4 1 3 5
3 5 4 1 2

correct output
5 1 3 2 4 

user output
1 3 5 2 4

Test 50

Group: 3

Verdict: ACCEPTED

input
5
5 2 3 4 1
2 1 4 3 5

correct output
1 4 5 2 3 

user output
3 4 1 5 2

Test 51

Group: 3

Verdict: ACCEPTED

input
5
4 1 5 3 2
2 4 1 5 3

correct output
1 2 3 4 5 

user output
5 3 2 4 1

Test 52

Group: 3

Verdict: ACCEPTED

input
5
3 1 5 2 4
1 4 2 3 5

correct output
5 2 1 4 3 

user output
5 2 4 1 3

Test 53

Group: 3

Verdict: ACCEPTED

input
5
1 4 5 3 2
4 2 3 5 1

correct output
5 3 2 1 4 

user output
5 3 2 1 4

Test 54

Group: 3

Verdict: ACCEPTED

input
5
1 4 5 2 3
4 2 3 1 5

correct output
2 3 4 5 1 

user output
5 3 2 4 1

Test 55

Group: 3

Verdict: ACCEPTED

input
5
4 5 3 2 1
5 3 4 1 2

correct output
1 2 5 3 4 

user output
3 2 1 4 5

Test 56

Group: 3

Verdict: ACCEPTED

input
100000
74620 99226 537 63830 13777 69...

correct output
44158 25720 84658 90057 99607 ...

user output
537 63830 13777 69159 69946 99...

Test 57

Group: 3

Verdict: ACCEPTED

input
100000
67665 19864 90761 58104 38796 ...

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
90761 58104 38796 78287 38113 ...

Test 58

Group: 3

Verdict: ACCEPTED

input
100000
63021 24161 40379 69157 89616 ...

correct output
4913 70683 13897 99969 66725 3...

user output
40379 69157 89616 97547 3679 8...

Test 59

Group: 3

Verdict: ACCEPTED

input
100000
31500 70052 90949 56812 73871 ...

correct output
47064 17335 15460 80797 56435 ...

user output
90949 56812 73871 98455 85979 ...

Test 60

Group: 3

Verdict: ACCEPTED

input
100000
39127 4446 57817 67459 53741 8...

correct output
96591 75698 82505 59416 72144 ...

user output
57817 67459 53741 86731 10328 ...