結果
問題 | No.760 Where am I moved to? |
ユーザー | ciel |
提出日時 | 2018-11-09 01:19:50 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 489 ms / 2,000 ms |
コード長 | 765 bytes |
コンパイル時間 | 76 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 46,844 KB |
最終ジャッジ日時 | 2024-06-26 23:00:05 |
合計ジャッジ時間 | 11,932 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 489 ms
44,756 KB |
testcase_01 | AC | 475 ms
44,880 KB |
testcase_02 | AC | 472 ms
46,844 KB |
testcase_03 | AC | 478 ms
44,620 KB |
testcase_04 | AC | 472 ms
44,620 KB |
testcase_05 | AC | 475 ms
44,624 KB |
testcase_06 | AC | 473 ms
45,008 KB |
testcase_07 | AC | 473 ms
44,496 KB |
testcase_08 | AC | 482 ms
45,008 KB |
testcase_09 | AC | 481 ms
45,004 KB |
testcase_10 | AC | 479 ms
44,624 KB |
ソースコード
#!/usr/bin/python import sys,math,numpy def thirdPoint(a): xdiff=a[1][0]-a[0][0] ydiff=a[1][1]-a[0][1] return [a[1][0]-ydiff,a[1][1]+xdiff] xa,ya,ta=map(float,sys.stdin.readline().split()) ta*=math.pi/180 before_=[] for _ in range(2): before_.append(list(map(float,sys.stdin.readline().split()))+[1]) before_.append(thirdPoint(before_)+[1]) before=numpy.array(before_).transpose() after_=[] for _ in range(2): after_.append(list(map(float,sys.stdin.readline().split()))+[1]) after_.append(thirdPoint(after_)+[1]) after=numpy.array(after_).transpose() r=before.dot(numpy.linalg.inv(after)).dot([[math.cos(ta),-math.sin(ta),xa],[math.sin(ta),math.cos(ta),ya],[0,0,1]]) print(' '.join('%.12f'%e for e in [r[0][2],r[1][2],math.atan2(r[1][0],r[0][0])*180/math.pi]))