結果
問題 |
No.2707 Bag of Words Encryption
|
ユーザー |
|
提出日時 | 2024-04-28 17:51:03 |
言語 | Scheme (Gauche-0.9.15) |
結果 |
AC
|
実行時間 | 126 ms / 2,000 ms |
コード長 | 1,028 bytes |
コンパイル時間 | 146 ms |
コンパイル使用メモリ | 5,248 KB |
実行使用メモリ | 25,600 KB |
最終ジャッジ日時 | 2024-11-17 12:04:16 |
合計ジャッジ時間 | 4,332 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 |
ソースコード
(use scheme.list) (use gauche.generator) (define-syntax v~ (syntax-rules () [(_ v i) (vector-ref v i)] [(_ v i j ...) (v~ (vector-ref v i) j ...)])) (define-syntax v-update! (syntax-rules (v~) [(_ (v~ v i) f) (vector-set! v i (f (vector-ref v i)))] [(_ (v~ v i j ...) f) (v-update! (v~ (vector-ref v i) j ...) f)])) (define-syntax readm (syntax-rules (sym str list vec) [(_ list n t ...) (unfold (pa$ = n) (^_ (readm t ...)) (pa$ + 1) 0)] [(_ vec n t ...) (vector-tabulate n (^_ (readm t ...)))] [(_ sym) (read)] [(_ str) (symbol->string (read))])) (define (solve n s) (let1 vc (make-vector 26 0) (generator-for-each (^i (let1 j (- (char->integer (string-ref s i)) 65) (v-update! (v~ vc j) (pa$ + 1)))) (giota n)) (generator-for-each (^i (display (v~ vc i))) (giota 26)) (display #\newline))) (define (main args) (let* ([n (read)] [s (readm str)]) (solve n s)) 0)