CSES - Datatähti 2017 alku - Results
Submission details
Task:Bittijono
Sender:inkeri
Submission time:2016-10-04 19:57:03 +0300
Language:Python2
Status:READY
Result:10
Feedback
groupverdictscore
#1ACCEPTED10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2--2details
#3--3details

Code

import math, random, sys

class Bittijono():
    def __init__(self):
        bitit = {}
        bitit[1] = 0
        bitit[2] = 1
        self.bitit = bitit
    def getBitti(self, luku):
        if luku not in self.bitit:
            length = int(math.pow(2, math.ceil(math.log(luku, 2))))
            luku -= length/4
            if (luku > length/2):
                luku -= length/2
            bitti = self.getBitti(luku)
            self.bitit[luku] = bitti
            return bitti

        return self.bitit[luku]

def main():
    jono = Bittijono()
    amount = int(input(""))

    for i in xrange(amount):
        print jono.getBitti(int(input("")))

def test(maara):
    jono = Bittijono()
    lista = [(i + 1) * 1000000000 for i in range(maara)]

    for i in lista:
        a = ""
        a += str(i) + ": "
        print a + str(jono.getBitti(i))

main()
#test(100000)

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
100
62
9
12
73
...

correct output
1
1
1
0
1
...

user output
1
1
1
0
1
...

Test 2

Group: 2

Verdict:

input
100000
565433
141881
120108
825392
...

correct output
1
1
0
0
1
...

user output
(empty)

Test 3

Group: 3

Verdict:

input
100000
374768524402011755
937067109466254318
389256426086302899
932585725667010169
...

correct output
0
1
1
1
1
...

user output
(empty)