結果
問題 | No.105 arcの六角ボルト |
ユーザー | ducktail |
提出日時 | 2018-09-06 21:38:44 |
言語 | Scheme (Gauche-0.9.14) |
結果 |
AC
|
実行時間 | 175 ms / 5,000 ms |
コード長 | 748 bytes |
コンパイル時間 | 75 ms |
コンパイル使用メモリ | 5,248 KB |
実行使用メモリ | 21,376 KB |
最終ジャッジ日時 | 2024-11-24 04:52:46 |
合計ジャッジ時間 | 1,239 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ソースコード
(use math.const) (define (main args) (let [(n (read))] (let loop [(x n)] (cond [(zero? x) #t] [else (print (solve)) (loop (- x 1))]))) 0) (define (solve) (let [(pl (read-points)) (xmn (cos (* pi/180 171))) (xmx (cos (* pi/180 119)))] ($ apply min $ filter (^a (>= a 0)) $ map ang $ filter (^p (and (< (car p) xmx) (< xmn (car p)) (> (cadr p) 0))) pl))) (define (read-points) (let loop [(n 6) (ls ())] (cond [(zero? n) ls] [else (loop (- n 1) (cons (list (read) (read)) ls))]))) (define (ang x) (let [(eps 0.000001) (a (- (* 180/pi (acos (car x))) 120.0))] (cond [(> eps (abs a)) 0.0] [else a])))