結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 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)])))