Please sign in first.
Submission #8004974
Source Code Expand
#!/usr/bin/env python3 import random def copysign(x, y): return abs(x) * (1 if y >= 0 else - 1) def dist(k, x, y): if not (abs(x) + abs(y) < 2 * k): return None if x == y == 0: return 0 elif abs(x) + abs(y) == k: return 1 elif (abs(x) + abs(y)) % 2 == 0: return 2 else: return 3 def iterate_neighbors(k, x, y): assert abs(x) + abs(y) < 2 * k dz = (2 * k - abs(x) - abs(y)) // 2 for dx in (dz, k - dz): dy = k - dx yield (dx, dy) yield (dx, - dy) yield (- dx, dy) yield (- dx, - dy) def solve(k, x, y): while True: d = dist(k, x, y) if d == 0: return elif d == 1: dx = x dy = y elif d == 2: for dx, dy in iterate_neighbors(k, x, y): if dist(k, x - dx, y - dy) == 1: break else: assert False elif d == 3: while True: dx = random.randint(0, k) * random.choice([-1, 1]) dy = (k - abs(dx)) * random.choice([-1, 1]) if dist(k, x - dx, y - dy) == 2: break else: dx = copysign(min(k, abs(x)), x) dy = copysign(k - abs(dx), y) yield (dx, dy) x -= dx y -= dy def main(): k = int(input()) x, y = map(int, input().split()) if k % 2 == 0 and (abs(x) + abs(y)) % 2 != 0: print(-1) return ops = list(solve(k, x, y)) print(len(ops)) x = 0 y = 0 for dx, dy in ops: x += dx y += dy print(x, y) main()
Submission Info
Submission Time | |
---|---|
Task | E - Golf |
User | kimiyuki |
Language | Python (3.4.3) |
Score | 500 |
Code Size | 1669 Byte |
Status | AC |
Exec Time | 477 ms |
Memory | 20100 KiB |
Judge Result
Set Name | Sample | Subtask1 | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt, sub1_29.txt, sub1_30.txt, sub1_31.txt, sub1_32.txt, sub1_33.txt, sub1_34.txt, sub1_35.txt, sub1_36.txt, sub1_37.txt, sub1_38.txt, sub1_39.txt, sub1_40.txt, sub1_41.txt, sub1_42.txt, sub1_43.txt, sub1_44.txt, sub1_45.txt, sub1_46.txt, sub1_47.txt, sub1_48.txt, sub1_49.txt, sub1_50.txt, sub1_51.txt, sub1_52.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 29 ms | 3952 KiB |
sample_02.txt | AC | 21 ms | 3444 KiB |
sample_03.txt | AC | 21 ms | 3444 KiB |
sub1_01.txt | AC | 20 ms | 3444 KiB |
sub1_02.txt | AC | 20 ms | 3444 KiB |
sub1_03.txt | AC | 21 ms | 3444 KiB |
sub1_04.txt | AC | 20 ms | 3444 KiB |
sub1_05.txt | AC | 20 ms | 3444 KiB |
sub1_06.txt | AC | 20 ms | 3444 KiB |
sub1_07.txt | AC | 20 ms | 3444 KiB |
sub1_08.txt | AC | 20 ms | 3444 KiB |
sub1_09.txt | AC | 21 ms | 3444 KiB |
sub1_10.txt | AC | 21 ms | 3444 KiB |
sub1_11.txt | AC | 21 ms | 3444 KiB |
sub1_12.txt | AC | 20 ms | 3444 KiB |
sub1_13.txt | AC | 20 ms | 3444 KiB |
sub1_14.txt | AC | 21 ms | 3444 KiB |
sub1_15.txt | AC | 21 ms | 3444 KiB |
sub1_16.txt | AC | 25 ms | 3956 KiB |
sub1_17.txt | AC | 20 ms | 3444 KiB |
sub1_18.txt | AC | 21 ms | 3444 KiB |
sub1_19.txt | AC | 21 ms | 3444 KiB |
sub1_20.txt | AC | 41 ms | 4488 KiB |
sub1_21.txt | AC | 21 ms | 3444 KiB |
sub1_22.txt | AC | 20 ms | 3444 KiB |
sub1_23.txt | AC | 21 ms | 3444 KiB |
sub1_24.txt | AC | 25 ms | 3956 KiB |
sub1_25.txt | AC | 21 ms | 3444 KiB |
sub1_26.txt | AC | 21 ms | 3444 KiB |
sub1_27.txt | AC | 21 ms | 3444 KiB |
sub1_28.txt | AC | 29 ms | 4116 KiB |
sub1_29.txt | AC | 20 ms | 3444 KiB |
sub1_30.txt | AC | 21 ms | 3444 KiB |
sub1_31.txt | AC | 21 ms | 3444 KiB |
sub1_32.txt | AC | 21 ms | 3444 KiB |
sub1_33.txt | AC | 29 ms | 4152 KiB |
sub1_34.txt | AC | 477 ms | 20100 KiB |
sub1_35.txt | AC | 20 ms | 3444 KiB |
sub1_36.txt | AC | 21 ms | 3444 KiB |
sub1_37.txt | AC | 20 ms | 3444 KiB |
sub1_38.txt | AC | 21 ms | 3444 KiB |
sub1_39.txt | AC | 28 ms | 4084 KiB |
sub1_40.txt | AC | 21 ms | 3444 KiB |
sub1_41.txt | AC | 21 ms | 3444 KiB |
sub1_42.txt | AC | 21 ms | 3444 KiB |
sub1_43.txt | AC | 21 ms | 3444 KiB |
sub1_44.txt | AC | 20 ms | 3444 KiB |
sub1_45.txt | AC | 21 ms | 3444 KiB |
sub1_46.txt | AC | 24 ms | 3828 KiB |
sub1_47.txt | AC | 193 ms | 9252 KiB |
sub1_48.txt | AC | 21 ms | 3444 KiB |
sub1_49.txt | AC | 20 ms | 3444 KiB |
sub1_50.txt | AC | 21 ms | 3444 KiB |
sub1_51.txt | AC | 184 ms | 9252 KiB |
sub1_52.txt | AC | 21 ms | 3444 KiB |