CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Aita
Sender:
Submission time:2015-07-20 00:34:54 +0300
Language:Python2
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.09 s1details
#2ACCEPTED0.09 s1details
#30.07 s1details
#4ACCEPTED0.10 s1details
#50.10 s1details
#6--2details
#7--2details
#8--2details
#9--2details
#100.09 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Code

# Algoritmi on vaan vaarin ajateltu, ei auta mikaan ;)

a, b = [int(x) for x in raw_input().split(" ")]     

def aita(n, k, left):
    QAQ=False
    lista = []
    for i in range(n,0,-1):
        lista.append(int(i))
        
    #print lista
    
    puu_lista = []
    puu_lista.append(int(lista[0]))
    lista.remove(lista[0])
    
    pituus=len(lista)
    puulistan_pituus=1
    #left = False
    goboth=False
    last_number_left = n
    last_number_right = n
    
    while(lista):
        found=False
        ko=int(k)
        if left==True:
            #print "left"
            while found==False and QAQ==False:
                if int(last_number_left-ko) in lista:
                    found=True
                    last_number_left=lista[lista.index(last_number_left-ko)]
                    lista.remove(last_number_left)
                    puu_lista.append(last_number_left)
                    
                elif int(last_number_left+ko) in lista:
                    found=True
                    last_number_left=lista[lista.index(last_number_left+ko)]
                    lista.remove(last_number_left)
                    puu_lista.append(last_number_left)
                    
                ko=ko+1
                
                
                
                if ko>pituus:
                    QAQ=True
                    break
        else:
            while found==False and QAQ==False:
                if int(last_number_right-ko) in lista:
                    found=True
                    last_number_right=lista[lista.index(last_number_right-ko)]
                    lista.remove(last_number_right)
                    puu_lista.insert(0,last_number_right)
                    
                elif int(last_number_right+ko) in lista:
                    found=True
                    last_number_right=lista[lista.index(last_number_right+ko)]
                    lista.remove(last_number_right)
                    puu_lista.insert(0,last_number_right)
                    
                ko=ko+1
                
                if ko>pituus:
                    QAQ=True
                    break
                
                
        left=not left #negate
        
        if QAQ==True:
            break
    
    if QAQ==True:
        print "QAQ"
    else:
        str_lista = "";
        for item in puu_lista:
            str_lista = str_lista + str(item) + " "
       
        print str_lista
    
aita(a, b, True)

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2 2

correct output
QAQ

user output
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
3 2

correct output
QAQ

user output
QAQ

Test 3

Group: 1

Verdict:

input
4 2

correct output
3 1 4 2 

user output
QAQ

Test 4

Group: 1

Verdict: ACCEPTED

input
7 4

correct output
QAQ

user output
QAQ

Test 5

Group: 1

Verdict:

input
8 4

correct output
5 1 6 2 7 3 8 4 

user output
QAQ

Test 6

Group: 2

Verdict:

input
80476 2

correct output
40239 1 40240 2 40241 3 40242 ...

user output
(empty)

Test 7

Group: 2

Verdict:

input
68652 2

correct output
34327 1 34328 2 34329 3 34330 ...

user output
(empty)

Test 8

Group: 2

Verdict:

input
62735 2

correct output
31368 1 31369 2 31370 3 31371 ...

user output
(empty)

Test 9

Group: 2

Verdict:

input
71954 2

correct output
35978 1 35979 2 35980 3 35981 ...

user output
(empty)

Test 10

Group: 2

Verdict:

input
4 2

correct output
3 1 4 2 

user output
QAQ

Test 11

Group: 3

Verdict:

input
89814 3

correct output
44908 1 44909 2 44910 3 44911 ...

user output
(empty)

Test 12

Group: 3

Verdict:

input
91140 5

correct output
45571 1 45572 2 45573 3 45574 ...

user output
(empty)

Test 13

Group: 3

Verdict:

input
66703 16675

correct output
33352 1 33353 2 33354 3 33355 ...

user output
(empty)

Test 14

Group: 3

Verdict:

input
66666 33333

correct output
33334 1 33335 2 33336 3 33337 ...

user output
(empty)

Test 15

Group: 3

Verdict:

input
66666 33334

correct output
QAQ

user output
(empty)