結果
| 問題 | 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)])))
            
            
            
        