結果
| 問題 |
No.279 木の数え上げ
|
| コンテスト | |
| ユーザー |
yusaka
|
| 提出日時 | 2015-09-22 03:59:04 |
| 言語 | Scheme (Gauche-0.9.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,046 bytes |
| コンパイル時間 | 25 ms |
| コンパイル使用メモリ | 6,684 KB |
| 実行使用メモリ | 22,740 KB |
| 最終ジャッジ日時 | 2024-07-19 08:34:16 |
| 合計ジャッジ時間 | 2,052 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | RE * 21 |
ソースコード
#!/usr/bin/env gosh
(define (main args)
(let ((input (read)))
(display (count-tree input))
(newline)))
(define (count-tree str)
(let ((char-list (string->list str))
(count-char-lambdas (list (count-char #\t)
(count-char #\r)
(div2 (count-char #\e)))))
(define (apply-lambdas lst arg)
(if (equal? '() lst)
lst
(cons ((car lst) arg) (apply-lambdas (cdr lst) arg))))
(minimum (apply-lambdas count-char-lambdas char-list))))
(define (minimum lst)
(define (iter lst holder)
(if (null? lst)
holder
(if (< holder (car lst))
(iter (cdr lst) holder)
(iter (cdr lst) (car lst)))))
(iter (cdr lst) (car lst)))
(define (div2 f)
(lambda (x)
(/ (f x) 2)))
(define (count-char char)
(lambda (x)
(define (iter x i)
(if (equal? x '())
i
(if (equal? (car x) char)
(iter (cdr x) (+ i 1))
(iter (cdr x) i))))
(iter x 0)))
yusaka