結果

問題 No.1226 I hate Robot Arms
ユーザー ygd.
提出日時 2020-09-11 23:23:20
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,275 bytes
コンパイル時間 376 ms
コンパイル使用メモリ 82,600 KB
実行使用メモリ 184,928 KB
最終ジャッジ日時 2025-01-01 22:12:49
合計ジャッジ時間 84,210 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other WA * 1 TLE * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

import math
N,Q = map(int,input().split())
kyoku = [1 for _ in range(N)] #theta, R, 0index
now = [[0,ii+1] for ii in range(N)]
B = [0 for _ in range(N)]
kakudo = [0 for _ in range(N)]
Flag = True
for _ in range(Q):
  query = list(map(int,input().split())) #ID,i,x
  ID = query[0]
  i = query[1] - 1 #0index
  if ID == 0: #角度
    B[i] += query[2]; Flag = False
  elif ID == 1: #長さ
    kyoku[i] = query[2]; Flag = False
  else:
    #prevB = [0 for _ in range(N)] #imos法のリセット
    #B, preB = prevB, B
    #print(B,kakudo)
    if Flag: #直前に更新したばかりであればそのままでよい。
      print(*now[i])
      continue
    for j in range(N):
      if j == 0:
        kakudo[j] += B[j]
        Theta = math.radians(B[0])
      else:
        B[j] += B[j-1]
        #print(kakudo,B)
        kakudo[j] += B[j]
        Theta = math.radians(kakudo[j])
      R = kyoku[j]
      #print(Theta,B[j],R)
      if j == 0:
        now[j][0] = R*math.cos(Theta)
        now[j][1] = R*math.sin(Theta)
      else:
        now[j][0] = now[j-1][0] + R*math.cos(Theta)
        now[j][1] = now[j-1][1] + R*math.sin(Theta)        
    #print(now)
    print(*now[i])
    Flag = True
    #print(kakudo)
    kakudo = B
    B = [0 for _ in range(N)]
#print(kakudo)
0