結果
| 問題 |
No.29 パワーアップ
|
| コンテスト | |
| ユーザー |
Rin
|
| 提出日時 | 2015-09-05 20:31:05 |
| 言語 | Scheme (Gauche-0.9.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,629 bytes |
| コンパイル時間 | 64 ms |
| コンパイル使用メモリ | 7,712 KB |
| 実行使用メモリ | 16,512 KB |
| 最終ジャッジ日時 | 2025-10-24 20:54:22 |
| 合計ジャッジ時間 | 1,436 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | RE * 22 |
ソースコード
(define (System.out.println x)
(begin
(write x)
(newline)
)
)
(define (find-vec vec foo)
(let loop(
(i 0)
)
(if (= i (vector-length vec))
-1
(if (= foo (vector-ref vec i))
i
(loop (+ i 1))
)
)
)
)
(define (ItemCheckA vec i)
(let loop(
(foo (read))
(bar 0)
(PowUp 0)
)
(if (> (find-vec vec foo) -1)
(begin
(vector-set! vec (+ i bar) 0)
(vector-set! vec (find-vec vec foo) 0)
(if (= bar 2)
(+ PowUp 1)
(loop (read) (+ bar 1) (+ PowUp 1))
)
)
(begin
(vector-set! vec (+ i bar) foo)
(if (= bar 2)
PowUp
(loop (read) (+ bar 1) PowUp)
)
)
)
)
)
(define (ItemCheckB vec)
(let loop(
(i 0)
(Cnt 0)
(PowUp 0)
)
(if (= i (vector-length vec))
PowUp
(if (< 0 (vector-ref vec i))
(begin
(vector-set! vec i 0)
(if (= Cnt 3)
(loop (+ i 1) 0 (+ PowUp 1))
(loop (+ i 1) (+ Cnt 1) PowUp)
)
)
(loop (+ i 1) Cnt PowUp)
)
)
)
)
(let loop(
(vec (make-vector (* (read) 3)))
(i 0)
(PowUp 0)
)
(if (= i (vector-length vec))
(System.out.println (number->string (+ (ItemCheckB vec) PowUp)))
(loop vec (+ i 3) (+ PowUp (ItemCheckA vec i)))
)
)
Rin