CSES - KILO 2016 2/5 - Results
Submission details
Task:Lucky numbers
Sender:Kyynel ;_;
Submission time:2016-09-13 17:35:53 +0300
Language:Python2
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.06 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.06 sdetails
#8ACCEPTED0.07 sdetails
#9ACCEPTED0.06 sdetails
#10ACCEPTED0.06 sdetails
#11ACCEPTED0.05 sdetails
#12ACCEPTED0.01 sdetails
#13ACCEPTED0.06 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.06 sdetails
#16ACCEPTED0.06 sdetails
#17ACCEPTED0.06 sdetails
#18ACCEPTED0.05 sdetails
#19ACCEPTED0.06 sdetails
#20ACCEPTED0.05 sdetails

Code

def diff (s, t):
    x = 0
    for i in range(0, len(s)):
        if s[i] != t[i]:
            x += 1
    return x

def a (s, t):
    j = 0
    for x in s:
        if x == t:
            j += 1
    return j

s = raw_input();
n = len(s)
ans = n - a(s, "7") - a(s, "0")
if s[0] == "0":
    ans += 1

if n % 3 == 0:
    x = 0
    for i in range(0, n):
        if i % 2 == 0:
            if s[i] != '4':
                x += 1
        else:
            if s[i] != '3':
                x += 1
    ans = min(ans, x)
    x = 0
    for i in range(0, n):
        if i % 2 == 0:
            if s[i] != '3':
                x += 1
        else:
            if s[i] != '4':
                x += 1
    ans = min(ans, x)
if n % 3 == 0:
    x = 0
    for i in range(0, n):
        if i % 2 == 0:
            if s[i] != '6':
                x += 1
        else:
            if s[i] != '8' and s[i] != '1':
                x += 1
    ans = min(ans, x)
    x = 0
    for i in range(0, n):
        if i % 2 == 0:
            if s[i] != '8' and s[i] != '1':
                x += 1
        else:
            if s[i] != '6':
                x += 1
    ans = min(ans, x)
    x = 0
    for i in range(0, n):
        if i % 2 == 0:
            if s[i] != '5':
                x += 1
        else:
            if s[i] != '9' and s[i] != '2':
                x += 1
    ans = min(ans, x)
    x = 0
    for i in range(0, n):
        if i % 2 == 0:
            if s[i] != '9' and s[i] != '2':
                x += 1
        else:
            if s[i] != '5':
                x += 1
    ans = min(ans, x)

print(ans)

Test details

Test 1

Verdict: ACCEPTED

input
932

correct output
1

user output
1

Test 2

Verdict: ACCEPTED

input
622897

correct output
4

user output
4

Test 3

Verdict: ACCEPTED

input
147656

correct output
3

user output
3

Test 4

Verdict: ACCEPTED

input
3452

correct output
4

user output
4

Test 5

Verdict: ACCEPTED

input
788431492

correct output
7

user output
7

Test 6

Verdict: ACCEPTED

input
989266495048717272261061594909...

correct output
48

user output
48

Test 7

Verdict: ACCEPTED

input
656115984810304444763175

correct output
18

user output
18

Test 8

Verdict: ACCEPTED

input
821785741859753883189643338604...

correct output
49

user output
49

Test 9

Verdict: ACCEPTED

input
989368021051

correct output
8

user output
8

Test 10

Verdict: ACCEPTED

input
850646258628472406299081311034...

correct output
75

user output
75

Test 11

Verdict: ACCEPTED

input
905529028380409196254499360502...

correct output
73

user output
73

Test 12

Verdict: ACCEPTED

input
910487086247939283017891549257...

correct output
71

user output
71

Test 13

Verdict: ACCEPTED

input
819648081022975646379749170608...

correct output
74

user output
74

Test 14

Verdict: ACCEPTED

input
534150835659907637615065081226...

correct output
76

user output
76

Test 15

Verdict: ACCEPTED

input
903033794991942065956114372733...

correct output
78

user output
78

Test 16

Verdict: ACCEPTED

input
737347217956895521599162105321...

correct output
71

user output
71

Test 17

Verdict: ACCEPTED

input
826360887089984268785983647159...

correct output
73

user output
73

Test 18

Verdict: ACCEPTED

input
224396467462996787526747118066...

correct output
66

user output
66

Test 19

Verdict: ACCEPTED

input
162181307721411363866352372656...

correct output
70

user output
70

Test 20

Verdict: ACCEPTED

input
885185290760073270713376396959...

correct output
73

user output
73