結果
問題 |
No.279 木の数え上げ
|
ユーザー |
![]() |
提出日時 | 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)))