結果

問題 No.760 Where am I moved to?
ユーザー cielciel
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#!/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]))
0