結果
| 問題 |
No.675 ドットちゃんたち
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2025-11-11 03:15:53 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 913 bytes |
| コンパイル時間 | 387 ms |
| コンパイル使用メモリ | 12,288 KB |
| 実行使用メモリ | 50,664 KB |
| 最終ジャッジ日時 | 2025-11-11 03:16:04 |
| 合計ジャッジ時間 | 8,401 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 1 TLE * 1 -- * 6 |
ソースコード
import sys
input = sys.stdin.readline
import numpy as np
N,x0,y0=map(int,input().split())
C=[list(map(int,input().split())) for i in range(N)]
A=np.array([[1,0,0],[0,1,0],[0,0,1]])
for L in C:
if L[0]==1:
x=L[1]
B=np.array([[1,0,0],[0,1,0],[x,0,1]])
A=A@B
elif L[0]==2:
x=L[1]
B=np.array([[1,0,0],[0,1,0],[0,x,1]])
A=A@B
else:
B=np.array([[0,-1,0],[1,0,0],[0,0,1]])
A=A@B
NOW=np.array([[x0,y0,1]])
ANS=NOW@A
print(ANS[0][0],ANS[0][1])
for L in C[:-1]:
if L[0]==1:
x=L[1]
B=np.array([[1,0,0],[0,1,0],[x,0,1]])
A=np.linalg.inv(B)@A
elif L[0]==2:
x=L[1]
B=np.array([[1,0,0],[0,1,0],[0,x,1]])
A=np.linalg.inv(B)@A
else:
B=np.array([[0,-1,0],[1,0,0],[0,0,1]])
A=np.linalg.inv(B)@A
ANS=NOW@A
print(round(ANS[0][0]),round(ANS[0][1]))
titia