結果
問題 |
No.240 ナイト散歩
|
ユーザー |
![]() |
提出日時 | 2018-06-22 16:26:38 |
言語 | Nim (2.2.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 580 bytes |
コンパイル時間 | 3,468 ms |
コンパイル使用メモリ | 65,744 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 17:59:33 |
合計ジャッジ時間 | 4,630 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
import strutils, sequtils, math let XY = stdin.readLine.split.map parseInt (X, Y) = (XY[0], XY[1]) var Arr, Brr = newSeq[tuple[x, y: int]]() Arr.add (0, 0) for x_abs in 1 .. 2: let y_abs = 3 - x_abs for x_sgn in countup(-1, 1, 2): for y_sgn in countup(-1, 1, 2): Arr.add (x_sgn * x_abs, y_sgn * y_abs) proc fn(n: int): tuple[x, y: int] = var v = n while v != 0: result.x += Arr[v mod Arr.len].x result.y += Arr[v mod Arr.len].y v = v div Arr.len for i in 0 ..< Arr.len ^ 3: Brr.add i.fn if (X, Y) in Brr: echo "YES" else: echo "NO"