結果
| 問題 | No.3 ビットすごろく |
| コンテスト | |
| ユーザー |
n_get
|
| 提出日時 | 2021-08-13 14:45:14 |
| 言語 | Scheme (Gauche-0.9.15) |
| 結果 |
AC
|
| 実行時間 | 30 ms / 5,000 ms |
| コード長 | 662 bytes |
| コンパイル時間 | 179 ms |
| コンパイル使用メモリ | 6,948 KB |
| 実行使用メモリ | 16,512 KB |
| 最終ジャッジ日時 | 2024-10-03 05:04:48 |
| 合計ジャッジ時間 | 2,181 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 33 |
ソースコード
(use util.queue)
(define N (read))
(define v (make-vector (+ N 1) #f))
(let ([que (make-queue)])
(enqueue! que 1)
(vector-set! v 1 1)
(let loop ()
(cond
[(queue-empty? que) (print (if (vector-ref v N) (vector-ref v N) -1))]
[else
(let* ([i (dequeue! que)]
[c (logcount i)])
(cond
[(and (<= (+ i c) N) (not (vector-ref v (+ i c))))
(vector-set! v (+ i c) (+ 1 (vector-ref v i)))
(enqueue! que (+ i c))])
(cond
[(and (> (- i c) 0) (not (vector-ref v (- i c))))
(vector-set! v (- i c) (+ 1 (vector-ref v i)))
(enqueue! que (- i c))]))
(loop)])))
n_get