結果
| 問題 |
No.3260 岩井スターグラフ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-09-07 10:19:41 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,633 ms / 2,000 ms |
| コード長 | 1,046 bytes |
| コンパイル時間 | 507 ms |
| コンパイル使用メモリ | 12,160 KB |
| 実行使用メモリ | 13,696 KB |
| 最終ジャッジ日時 | 2025-09-07 10:20:25 |
| 合計ジャッジ時間 | 42,427 ms |
|
ジャッジサーバーID (参考情報) |
judge / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 36 |
ソースコード
import sys
from collections import *
from functools import cache, partial
from itertools import *
from pprint import pprint
from typing import Any, Final
try:
from icecream import ic
except ImportError: # Graceful fallback if IceCream isn't installed.
ic = lambda *a: None if not a else (a[0] if len(a) == 1 else a) # noqa
debug = partial(print, file=sys.stderr)
dpprint = partial(pprint, stream=sys.stderr)
sys.setrecursionlimit(10 ** 6)
MOD=998244353
X, Y, N = map(int, input().split())
def dist_to_zero(v: int, Y: int) -> int:
return (v - 1) % Y + 1
def is_same_branch(u: int, v: int, Y: int) -> bool:
return (u - 1) // Y == (v - 1) // Y
ic(X, Y)
for _ in range(N):
u, v = map(int, input().split())
if u == 0 and v == 0:
print(0)
continue
if u == 0:
print(dist_to_zero(v, Y))
continue
if v == 0:
print(dist_to_zero(u, Y))
continue
if is_same_branch(u, v, Y):
print(abs(u - v))
else:
print(dist_to_zero(u, Y) + dist_to_zero(v, Y))