ABC145(A~C)
B - Echo
https://atcoder.jp/contests/abc145/tasks/abc145_b
かかった時間 2分30秒
N=int(input()) S=str(input()) if S[0:N//2]==S[N//2:]: print("Yes") else: print("No")
C - Average Length
https://atcoder.jp/contests/abc145/tasks/abc145_c
かかった時間 35分
import itertools import math N=int(input()) List=[] for i in range(N): x,y=map(int,input().split()) List.append([x,y]) ans=0 count=0 for i in itertools.permutations(List): sum=0 for j in range(len(i)-1): x=(i[j][0]-i[j+1][0])**2 y=(i[j][1]-i[j+1][1])**2 sum+=math.sqrt(abs(x+y)) ans+=sum count+=1 print(ans/count)
おまけ
DはTLEで解けませんでしたが一応載せておきます
X,Y=map(int,input().split()) List=[list("." for j in range(Y+1)) for i in range(X+1)] List[X][Y]="g" ans=0 def dfs(x,y): global ans if not(0<=x<X+1) or not(0<=y<Y+1) or List[x][y] == "#": return if List[x][y]=="g": ans+=1 else: List[x][y]="#" dfs(x+1,y+2) dfs(x+2,y+1) dfs(0,0) print(ans)
下記記事を参考にDFSで実装してみました
https://nashidos.hatenablog.com/entry/2020/01/04/234842