結果

問題 No.1292 パタパタ三角形
ユーザー uni_python
提出日時 2020-12-11 23:49:05
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 166 ms / 2,000 ms
コード長 2,286 bytes
コンパイル時間 142 ms
コンパイル使用メモリ 82,464 KB
実行使用メモリ 107,480 KB
最終ジャッジ日時 2024-09-19 21:37:32
合計ジャッジ時間 2,390 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))
"""
,xy
a△b
c
a:(-1,0),b:(1,0),c:(0,-1)
"""
S=input()
#LRUD
ML=[(-1,0),(1,0),(0,1),(0,-1)]
# a,b,c
L=[0,1,3]#
from collections import defaultdict
dd = defaultdict(int)
dd[(0,0)]=1
#
x=0
y=0
for c in S:
num=ord(c)-ord("a")
move_num=L[num]
move=ML[move_num]#
x+=move[0]
y+=move[1]
dd[(x,y)]=1
nL=[0,0,0]
if move_num==2 or move_num==3:
#
for i in range(3):
if L[i]==2:
nL[i]=3
elif L[i]==3:
nL[i]=2
else:
nL[i]=L[i]
#
elif move_num==0:
for i in range(3):
if L[i]==0:#
nL[i]=1
elif L[i]==1:#
if 2 in L:#
nL[i]=3
else:#
nL[i]=2
else:#
nL[i]=0
#
elif move_num==1:
for i in range(3):
if L[i]==1:#
nL[i]=0
elif L[i]==0:#
if 2 in L:#
nL[i]=3
else:#
nL[i]=2
else:#
nL[i]=1
for i in range(3):
L[i]=nL[i]
# print(x,y,":",num,move_num,move)
# print(move_num)
# print(L)
ans=0
for k,v in dd.items():
# print(k)
ans+=1
print(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0