結果
問題 |
No.279 木の数え上げ
|
ユーザー |
![]() |
提出日時 | 2015-09-22 03:59:55 |
言語 | Scheme (Gauche-0.9.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,027 bytes |
コンパイル時間 | 57 ms |
コンパイル使用メモリ | 5,120 KB |
実行使用メモリ | 22,528 KB |
最終ジャッジ日時 | 2024-07-19 08:34:18 |
合計ジャッジ時間 | 1,963 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 21 |
ソースコード
(define (main) (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))) (main)