結果

問題 No.565 回転拡大
ユーザー ducktailducktail
提出日時 2018-01-01 16:06:24
言語 Scheme
(Gauche-0.9.14)
結果
AC  
実行時間 23 ms / 2,000 ms
コード長 1,024 bytes
コンパイル時間 68 ms
コンパイル使用メモリ 6,684 KB
実行使用メモリ 16,128 KB
最終ジャッジ日時 2024-06-02 05:44:41
合計ジャッジ時間 1,882 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 21 ms
16,000 KB
testcase_01 AC 21 ms
16,000 KB
testcase_02 AC 21 ms
16,128 KB
testcase_03 AC 21 ms
16,128 KB
testcase_04 AC 21 ms
16,000 KB
testcase_05 AC 22 ms
16,128 KB
testcase_06 AC 21 ms
16,128 KB
testcase_07 AC 21 ms
16,128 KB
testcase_08 AC 22 ms
16,000 KB
testcase_09 AC 21 ms
16,000 KB
testcase_10 AC 21 ms
16,000 KB
testcase_11 AC 20 ms
16,128 KB
testcase_12 AC 21 ms
16,128 KB
testcase_13 AC 21 ms
15,872 KB
testcase_14 AC 21 ms
16,128 KB
testcase_15 AC 20 ms
16,128 KB
testcase_16 AC 21 ms
16,000 KB
testcase_17 AC 21 ms
16,128 KB
testcase_18 AC 21 ms
16,128 KB
testcase_19 AC 21 ms
16,000 KB
testcase_20 AC 21 ms
16,000 KB
testcase_21 AC 21 ms
16,000 KB
testcase_22 AC 23 ms
16,000 KB
testcase_23 AC 21 ms
16,000 KB
testcase_24 AC 20 ms
16,000 KB
testcase_25 AC 20 ms
16,000 KB
testcase_26 AC 21 ms
16,000 KB
testcase_27 AC 21 ms
16,000 KB
testcase_28 AC 21 ms
16,000 KB
testcase_29 AC 20 ms
16,000 KB
testcase_30 AC 21 ms
16,000 KB
testcase_31 AC 20 ms
16,128 KB
testcase_32 AC 20 ms
15,872 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

(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)
0