結果
問題 | No.1292 パタパタ三角形 |
ユーザー | ygd. |
提出日時 | 2020-11-20 22:08:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 131 ms / 2,000 ms |
コード長 | 1,045 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 82,268 KB |
実行使用メモリ | 108,160 KB |
最終ジャッジ日時 | 2024-07-23 13:06:37 |
合計ジャッジ時間 | 2,336 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 |
ソースコード
S = str(input()) N = len(S) B = [[(2,0),(0,0)],[(0,1),(1,0)],[(1,0),(0,1)],[(0,0),(0,2)],[(-1,0),(0,1)],[(0,-1),(1,0)],\ [(-2,0),(0,0)],[(0,-1),(-1,0)],[(-1,0),(0,-1)],[(0,0),(0,-2)],[(1,0),(0,-1)],[(0,1),(-1,0)]] #print(B) L = set() now = ((0,0),(0,0)) L.add(now) a = 30; b = 150; c = 270 for i in range(1,N+1): if S[i-1] == "a": move = a//30 a = (a+180)%360 if i%2 == 0: b = (a+120)%360 c = (a+240)%360 else: c = (a+120)%360 b = (a+240)%360 elif S[i-1] == "b": move = b//30 b = (b+180)%360 if i%2 == 0: a = (b+240)%360 c = (b+120)%360 else: c = (b+240)%360 a = (b+120)%360 else: move = c//30 c = (c+180)%360 if i%2 == 0: a = (c+120)%360 b = (c+240)%360 else: b = (c+120)%360 a = (c+240)%360 #print(move,B[move]) nxt = ((now[0][0]+B[move][0][0],now[0][1]+B[move][0][1]),(now[1][0]+B[move][1][0],now[1][1]+B[move][1][1])) L.add(nxt) now = nxt #print(nxt,a,b,c) ans = len(L) print(ans)