CSES - Putka Open 2015 – 6/6 - Results
Submission details
Task:Tutkat
Sender:
Submission time:2015-12-06 15:43:13 +0200
Language:Python3
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED14
#2ACCEPTED26
#3ACCEPTED60
Test results
testverdicttimegroup
#1ACCEPTED0.09 s1details
#2ACCEPTED0.07 s1details
#3ACCEPTED0.09 s1details
#4ACCEPTED0.09 s1details
#5ACCEPTED0.08 s1details
#6ACCEPTED0.09 s1details
#7ACCEPTED0.09 s1details
#8ACCEPTED0.08 s1details
#9ACCEPTED0.07 s1details
#10ACCEPTED0.08 s1details
#11ACCEPTED0.10 s2details
#12ACCEPTED0.08 s2details
#13ACCEPTED0.10 s2details
#14ACCEPTED0.09 s2details
#15ACCEPTED0.07 s2details
#16ACCEPTED0.08 s2details
#17ACCEPTED0.08 s2details
#18ACCEPTED0.09 s2details
#19ACCEPTED0.09 s2details
#20ACCEPTED0.09 s2details
#21ACCEPTED0.08 s3details
#22ACCEPTED0.08 s3details
#23ACCEPTED0.54 s3details
#24ACCEPTED0.57 s3details
#25ACCEPTED0.08 s3details
#26ACCEPTED0.55 s3details
#27ACCEPTED0.55 s3details
#28ACCEPTED0.52 s3details
#29ACCEPTED0.53 s3details
#30ACCEPTED0.52 s3details

Code

#!/usr/bin/env python3

def samalla_viivalla(tutkat):
    tutkat = sorted(set(tutkat)) # duplikaattien poisto ja sorttaus
    if len(tutkat) < 3:
        return True

    if all(x[0] == tutkat[0][0] for x in tutkat[1:]):
        return True
    if all(x[1] == tutkat[0][1] for x in tutkat[1:]):
        return True

    dx = tutkat[1][0] - tutkat[0][0]
    dy = tutkat[1][1] - tutkat[0][1]
    if dx == 0 or dy == 0:
        return False

    suhde = dx / dy

    a = tutkat[1]
    for b in tutkat[2:]:
        dxb = b[0] - a[0]
        dyb = b[1] - a[1]
        if dxb == 0 or dyb == 0:
            return False
        if abs(dxb / dyb - suhde) > 0.0001:
            return False
        a = b

    return True

def main():
    n = int(input())
    tutkat = []
    for y in range(n):
        tutkat.append(tuple(int(x) for x in input().split()))

    if samalla_viivalla(tutkat):
        print('QAQ')
    else:
        print('10-4')

if __name__ == '__main__':
    main()

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1
4 0

correct output
QAQ

user output
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
2
8 7
0 0

correct output
QAQ

user output
QAQ

Test 3

Group: 1

Verdict: ACCEPTED

input
10
3 -5
2 -5
-5 -5
8 -5
...

correct output
QAQ

user output
QAQ

Test 4

Group: 1

Verdict: ACCEPTED

input
10
5 -10
5 1
5 1
5 2
...

correct output
QAQ

user output
QAQ

Test 5

Group: 1

Verdict: ACCEPTED

input
10
6 -1
-9 -1
-10 -1
-6 -1
...

correct output
QAQ

user output
QAQ

Test 6

Group: 1

Verdict: ACCEPTED

input
10
10 9
-3 -4
-6 -7
-9 -10
...

correct output
QAQ

user output
QAQ

Test 7

Group: 1

Verdict: ACCEPTED

input
10
-4 6
-3 4
-6 10
-2 2
...

correct output
QAQ

user output
QAQ

Test 8

Group: 1

Verdict: ACCEPTED

input
10
0 -5
3 -1
-8 7
-7 -4
...

correct output
10-4

user output
10-4

Test 9

Group: 1

Verdict: ACCEPTED

input
10
-6 9
0 -2
4 -6
-3 -10
...

correct output
10-4

user output
10-4

Test 10

Group: 1

Verdict: ACCEPTED

input
10
-8 6
-2 6
2 7
4 4
...

correct output
10-4

user output
10-4

Test 11

Group: 2

Verdict: ACCEPTED

input
1
-441 481

correct output
QAQ

user output
QAQ

Test 12

Group: 2

Verdict: ACCEPTED

input
2
839 909
-200 80

correct output
QAQ

user output
QAQ

Test 13

Group: 2

Verdict: ACCEPTED

input
1000
-423 925
-472 925
-809 925
326 925
...

correct output
QAQ

user output
QAQ

Test 14

Group: 2

Verdict: ACCEPTED

input
1000
-762 -767
-762 200
-762 -334
-762 209
...

correct output
QAQ

user output
QAQ

Test 15

Group: 2

Verdict: ACCEPTED

input
10
3 7
-2 -3
-4 -7
3 7
...

correct output
QAQ

user output
QAQ

Test 16

Group: 2

Verdict: ACCEPTED

input
1000
801 799
-260 -262
-67 -69
-554 -556
...

correct output
QAQ

user output
QAQ

Test 17

Group: 2

Verdict: ACCEPTED

input
1000
-272 -2
69 -2
751 -2
-52 -2
...

correct output
QAQ

user output
QAQ

Test 18

Group: 2

Verdict: ACCEPTED

input
1000
-489 -811
-643 -824
-277 174
444 765
...

correct output
10-4

user output
10-4

Test 19

Group: 2

Verdict: ACCEPTED

input
1000
489 835
-200 127
-381 726
77 -521
...

correct output
10-4

user output
10-4

Test 20

Group: 2

Verdict: ACCEPTED

input
1000
281 736
-124 -915
786 -855
114 989
...

correct output
10-4

user output
10-4

Test 21

Group: 3

Verdict: ACCEPTED

input
1
-3456 -2745

correct output
QAQ

user output
QAQ

Test 22

Group: 3

Verdict: ACCEPTED

input
2
-251857 -954786
503100 816554

correct output
QAQ

user output
QAQ

Test 23

Group: 3

Verdict: ACCEPTED

input
100000
330161 -746892
220170 -746892
-65044 -746892
806626 -746892
...

correct output
QAQ

user output
QAQ

Test 24

Group: 3

Verdict: ACCEPTED

input
100000
722581 -574844
722581 -466372
722581 664802
722581 -105614
...

correct output
QAQ

user output
QAQ

Test 25

Group: 3

Verdict: ACCEPTED

input
10
-1 -2
-2 -4
-5 -10
3 6
...

correct output
QAQ

user output
QAQ

Test 26

Group: 3

Verdict: ACCEPTED

input
100000
-203540 -407080
485311 970622
111563 223126
-440181 -880362
...

correct output
QAQ

user output
QAQ

Test 27

Group: 3

Verdict: ACCEPTED

input
100000
68694 137388
36535 73070
72667 145334
-261754 -523508
...

correct output
QAQ

user output
QAQ

Test 28

Group: 3

Verdict: ACCEPTED

input
100000
282590 559482
857807 -597385
957181 139364
-710955 660838
...

correct output
10-4

user output
10-4

Test 29

Group: 3

Verdict: ACCEPTED

input
100000
-228024 -516020
-906860 278692
-460599 616754
194654 637343
...

correct output
10-4

user output
10-4

Test 30

Group: 3

Verdict: ACCEPTED

input
100000
903962 491932
-444159 -408066
-444246 262614
678743 52561
...

correct output
10-4

user output
10-4