CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Aita
Sender:
Submission time:2015-07-20 01:05:38 +0300
Language:Python2
Status:READY
Result:17
Feedback
groupverdictscore
#1ACCEPTED17
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.09 s1details
#2ACCEPTED0.07 s1details
#3ACCEPTED0.08 s1details
#4ACCEPTED0.09 s1details
#5ACCEPTED0.08 s1details
#6--2details
#7--2details
#8--2details
#9--2details
#10ACCEPTED0.08 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Code

# Algoritmi on vaan vaarin ajateltu, ei auta mikaan ;)
# taysin uusi yritys 2, aika loppuuu..i..

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))
    
    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
    try_other_side=False
    while(lista):
        
        found=False
        notfound=False
        ko=int(k)
        if left==True:
            
            while found==False and notfound==False:
                if ko>pituus:
                    QAQ=True
                    notfound=True
                
                
                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)
                    
                    QAQ=False
                    try_other_side=False
                    
                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)
                    
                    QAQ=False
                    try_other_side=False
                    
                ko=ko+1
                
                
                
                
                    
                        
        else:
            while found==False and notfound==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)
                    
                    QAQ=False
                    try_other_side=False
                    
                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)
                    
                    QAQ=False
                    try_other_side=False
                    
                
                
                if ko>pituus:
                    QAQ=True
                    notfound=True
                    
                    
                ko=ko+1
                
                
        left=not left #negate
        
        if QAQ == True and try_other_side == False:
            try_other_side=True
            
        elif QAQ == True and try_other_side == True:
            # no solution
            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, False)

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

input
4 2

correct output
3 1 4 2 

user output
2 4 1 3 

Test 4

Group: 1

Verdict: ACCEPTED

input
7 4

correct output
QAQ

user output
QAQ

Test 5

Group: 1

Verdict: ACCEPTED

input
8 4

correct output
5 1 6 2 7 3 8 4 

user output
4 8 3 7 2 6 1 5 

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

input
4 2

correct output
3 1 4 2 

user output
2 4 1 3 

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)