結果
| 問題 |
No.565 回転拡大
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-01-01 16:06:24 |
| 言語 | Scheme (Gauche-0.9.15) |
| 結果 |
AC
|
| 実行時間 | 25 ms / 2,000 ms |
| コード長 | 1,024 bytes |
| コンパイル時間 | 76 ms |
| コンパイル使用メモリ | 6,820 KB |
| 実行使用メモリ | 16,256 KB |
| 最終ジャッジ日時 | 2024-12-22 23:49:15 |
| 合計ジャッジ時間 | 2,614 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
(define (rotate-right mx)
(let loop ([ls mx]
[rs (make-list (length (car mx)) '())])
(cond [(null? ls) rs]
[else (loop (cdr ls) (map (lambda (x y) (cons x y)) (car ls) rs))])))
(define (rotate-pict mx r)
(cond [(= r 90) (rotate-right mx)]
[(= r 180) (rotate-right (rotate-right mx))]
[(= r 270) (rotate-right (rotate-right (rotate-right mx)))]
[else mx]))
(define (enlarge-print mx k)
(for-each (lambda (rl)
(let ([s (list->string
(concatenate
(map (lambda (x) (make-list k x)) rl)))])
(dotimes (k) (print s)))
) mx))
(define (read-pict h)
(let loop ([n h]
[ls '()])
(cond [(zero? n) (reverse ls)]
[else (loop (- n 1) (cons (string->list (read-line)) ls))])))
(define (main args)
(let* ([r (read)]
[k (read)]
[h (read)]
[w (read-line)]
[pl (read-pict h)])
(enlarge-print (rotate-pict pl r) k))
0)