Submission #3494398
Source Code Expand
def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) T = [] for i in range(1, 26): for j in range(1, 26): if gcd(i,j) == 1: T.append([i, j]) N = int(input()) L = [[0 for i in range(100)] for j in range(100)] for i in range(N): x, y = map(int, input().split()) L[x][y] = 1 h = 100 def exc(c): ret = 0 if c >= 4: ret += (c*(c-1)*(c-2)*(c-3))//24 if c>= 3: ret += ((c*(c-1)*(c-2))//6) * (N-c) return ret ans = (N*(N-1)*(N-2)*(N-3))//24 for i in range(h): c=0 for j in range(h): if L[i][j] > 0: c += 1 ans -= exc(c) for i in range(h): c=0 for j in range(h): if L[j][i] > 0: c += 1 ans -= exc(c) for i, j in T: for a in range(i): for b in range(h): c = 0 k = 0 while True: if a + i*k >= h or b + j*k >= h: break if L[a + i*k][b + j*k] > 0: c += 1 k += 1 ans -= exc(c) c = 0 k = 0 while True: if a + i*k >= h or b - j*k < 0: break if L[a + i*k][b - j*k] > 0: c += 1 k += 1 ans -= exc(c) for a in range(i, h): for b in range(j): c = 0 k = 0 while True: if a + i*k >= h or b + j*k >= h: break if L[a + i*k][b + j*k] > 0: c += 1 k += 1 ans -= exc(c) for a in range(i, h): for b in range(h-j, h): c = 0 k = 0 while True: if a + i*k >= h or b - j*k < 0: break if L[a + i*k][b - j*k] > 0: c += 1 k += 1 ans -= exc(c) print (ans)
Submission Info
Submission Time | |
---|---|
Task | B - よんてん |
User | Kiri8128 |
Language | Python (3.4.3) |
Score | 0 |
Code Size | 2066 Byte |
Status | TLE |
Exec Time | 2104 ms |
Memory | 3316 KB |
Judge Result
Set Name | level1 | level2 | level3 | level4 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 4 | 0 / 16 | 0 / 30 | 0 / 50 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
level1 | 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1 |
level2 | 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1, 16/16_input05, 16/16_input06, 16/16_input07, 16/16_input08, 16/16_input09, 16/16_input10, 16/16_input11, 16/16_input12, 16/16_input13, 16/16_input14, 16/16_input15, 16/16_input16, 16/16_input17, 16/16_input18, 16/16_input19, 16/16_input20, 16/16_input21, 16/16_input22, 16/16_input23, 16/16_input24, 16/16_input64, 16/16_input65, 16/16_input66, 16/16_input67, 16/16_sample2 |
level3 | 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1, 16/16_input05, 16/16_input06, 16/16_input07, 16/16_input08, 16/16_input09, 16/16_input10, 16/16_input11, 16/16_input12, 16/16_input13, 16/16_input14, 16/16_input15, 16/16_input16, 16/16_input17, 16/16_input18, 16/16_input19, 16/16_input20, 16/16_input21, 16/16_input22, 16/16_input23, 16/16_input24, 16/16_input64, 16/16_input65, 16/16_input66, 16/16_input67, 16/16_sample2, 30/30_input25, 30/30_input26, 30/30_input27, 30/30_input28, 30/30_input29, 30/30_input30, 30/30_input31, 30/30_input32, 30/30_input33, 30/30_input34, 30/30_input35, 30/30_input36, 30/30_input37, 30/30_input38, 30/30_input39, 30/30_input40, 30/30_input41, 30/30_input42, 30/30_input43, 30/30_input44, 30/30_input68, 30/30_input69 |
level4 | 04/04_input00, 04/04_input01, 04/04_input02, 04/04_input03, 04/04_input04, 04/04_input05, 04/04_input06, 04/04_sample1, 16/16_input05, 16/16_input06, 16/16_input07, 16/16_input08, 16/16_input09, 16/16_input10, 16/16_input11, 16/16_input12, 16/16_input13, 16/16_input14, 16/16_input15, 16/16_input16, 16/16_input17, 16/16_input18, 16/16_input19, 16/16_input20, 16/16_input21, 16/16_input22, 16/16_input23, 16/16_input24, 16/16_input64, 16/16_input65, 16/16_input66, 16/16_input67, 16/16_sample2, 30/30_input25, 30/30_input26, 30/30_input27, 30/30_input28, 30/30_input29, 30/30_input30, 30/30_input31, 30/30_input32, 30/30_input33, 30/30_input34, 30/30_input35, 30/30_input36, 30/30_input37, 30/30_input38, 30/30_input39, 30/30_input40, 30/30_input41, 30/30_input42, 30/30_input43, 30/30_input44, 30/30_input68, 30/30_input69, 50/50_input45, 50/50_input46, 50/50_input47, 50/50_input48, 50/50_input49, 50/50_input50, 50/50_input51, 50/50_input52, 50/50_input53, 50/50_input54, 50/50_input55, 50/50_input56, 50/50_input57, 50/50_input58, 50/50_input59, 50/50_input60, 50/50_input61, 50/50_input62, 50/50_input63, 50/50_input70, 50/50_input71, 50/50_input72, 50/50_input73 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
04/04_input00 | TLE | 2104 ms | 3316 KB |
04/04_input01 | TLE | 2103 ms | 3316 KB |
04/04_input02 | TLE | 2104 ms | 3316 KB |
04/04_input03 | TLE | 2103 ms | 3316 KB |
04/04_input04 | TLE | 2103 ms | 3316 KB |
04/04_input05 | TLE | 2103 ms | 3316 KB |
04/04_input06 | TLE | 2103 ms | 3316 KB |
04/04_sample1 | TLE | 2104 ms | 3316 KB |
16/16_input05 | TLE | 2104 ms | 3316 KB |
16/16_input06 | TLE | 2103 ms | 3316 KB |
16/16_input07 | TLE | 2104 ms | 3316 KB |
16/16_input08 | TLE | 2104 ms | 3316 KB |
16/16_input09 | TLE | 2104 ms | 3316 KB |
16/16_input10 | TLE | 2103 ms | 3316 KB |
16/16_input11 | TLE | 2103 ms | 3316 KB |
16/16_input12 | TLE | 2104 ms | 3316 KB |
16/16_input13 | TLE | 2103 ms | 3316 KB |
16/16_input14 | TLE | 2103 ms | 3316 KB |
16/16_input15 | TLE | 2104 ms | 3316 KB |
16/16_input16 | TLE | 2103 ms | 3316 KB |
16/16_input17 | TLE | 2104 ms | 3316 KB |
16/16_input18 | TLE | 2103 ms | 3316 KB |
16/16_input19 | TLE | 2104 ms | 3316 KB |
16/16_input20 | TLE | 2104 ms | 3316 KB |
16/16_input21 | TLE | 2104 ms | 3316 KB |
16/16_input22 | TLE | 2103 ms | 3316 KB |
16/16_input23 | TLE | 2103 ms | 3316 KB |
16/16_input24 | TLE | 2103 ms | 3316 KB |
16/16_input64 | TLE | 2104 ms | 3316 KB |
16/16_input65 | TLE | 2103 ms | 3316 KB |
16/16_input66 | TLE | 2103 ms | 3192 KB |
16/16_input67 | TLE | 2104 ms | 3316 KB |
16/16_sample2 | TLE | 2103 ms | 3316 KB |
30/30_input25 | TLE | 2104 ms | 3316 KB |
30/30_input26 | TLE | 2103 ms | 3316 KB |
30/30_input27 | TLE | 2104 ms | 3316 KB |
30/30_input28 | TLE | 2103 ms | 3316 KB |
30/30_input29 | TLE | 2104 ms | 3316 KB |
30/30_input30 | TLE | 2103 ms | 3316 KB |
30/30_input31 | TLE | 2104 ms | 3316 KB |
30/30_input32 | TLE | 2103 ms | 3316 KB |
30/30_input33 | TLE | 2103 ms | 3316 KB |
30/30_input34 | TLE | 2103 ms | 3316 KB |
30/30_input35 | TLE | 2104 ms | 3316 KB |
30/30_input36 | TLE | 2103 ms | 3316 KB |
30/30_input37 | TLE | 2103 ms | 3316 KB |
30/30_input38 | TLE | 2104 ms | 3316 KB |
30/30_input39 | TLE | 2104 ms | 3316 KB |
30/30_input40 | TLE | 2103 ms | 3316 KB |
30/30_input41 | TLE | 2103 ms | 3316 KB |
30/30_input42 | TLE | 2104 ms | 3316 KB |
30/30_input43 | TLE | 2103 ms | 3316 KB |
30/30_input44 | TLE | 2104 ms | 3316 KB |
30/30_input68 | TLE | 2103 ms | 3316 KB |
30/30_input69 | TLE | 2104 ms | 3316 KB |
50/50_input45 | TLE | 2104 ms | 3316 KB |
50/50_input46 | TLE | 2103 ms | 3316 KB |
50/50_input47 | TLE | 2104 ms | 3316 KB |
50/50_input48 | TLE | 2103 ms | 3316 KB |
50/50_input49 | TLE | 2103 ms | 3316 KB |
50/50_input50 | TLE | 2104 ms | 3316 KB |
50/50_input51 | TLE | 2104 ms | 3316 KB |
50/50_input52 | TLE | 2103 ms | 3316 KB |
50/50_input53 | TLE | 2104 ms | 3316 KB |
50/50_input54 | TLE | 2104 ms | 3316 KB |
50/50_input55 | TLE | 2103 ms | 3316 KB |
50/50_input56 | TLE | 2104 ms | 3316 KB |
50/50_input57 | TLE | 2104 ms | 3316 KB |
50/50_input58 | TLE | 2103 ms | 3316 KB |
50/50_input59 | TLE | 2103 ms | 3316 KB |
50/50_input60 | TLE | 2104 ms | 3316 KB |
50/50_input61 | TLE | 2103 ms | 3316 KB |
50/50_input62 | TLE | 2104 ms | 3316 KB |
50/50_input63 | TLE | 2103 ms | 3316 KB |
50/50_input70 | TLE | 2104 ms | 3316 KB |
50/50_input71 | TLE | 2103 ms | 3316 KB |
50/50_input72 | TLE | 2103 ms | 3316 KB |
50/50_input73 | TLE | 2103 ms | 3316 KB |