結果
問題 | No.1292 パタパタ三角形 |
ユーザー |
👑 ![]() |
提出日時 | 2020-11-20 21:33:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 153 ms / 2,000 ms |
コード長 | 678 bytes |
コンパイル時間 | 144 ms |
コンパイル使用メモリ | 82,208 KB |
実行使用メモリ | 123,176 KB |
最終ジャッジ日時 | 2024-07-23 12:42:18 |
合計ジャッジ時間 | 2,270 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 |
ソースコード
"""辺の位置の逆側の頂点に着目するそれをA,B,Cと呼ぶことにする2つのベクトルで位置を表せる最初はa = 0,0b = 1,0c = 0,1a二関して対称移動は、a = a+(b-a)+(c-a)をすることに等しいあとはa,b,cの位置はかぶらなそうなので、dictで管理"""S = input()dic = {}a = (0,0)b = (1,0)c = (0,1)dic[(0,0,1,0,0,1)] = 1for i in S:if i == "a":a = (b[0]+c[0]-a[0],b[1]+c[1]-a[1])elif i == "b":b = (a[0]+c[0]-b[0],a[1]+c[1]-b[1])else:c = (a[0]+b[0]-c[0],a[1]+b[1]-c[1])dic[(a[0],a[1],b[0],b[1],c[0],c[1])] = 1#print (a,b,c)print (len(dic))