ABC184
3完です。C問題が難しかったみたい。
A - Determinant
行列式は頭が痛い
Code
a, b = MI()
c, d = MI()
print(a*d - b*c)
B - Quizzes
Code
N, X = MI() S = S() for i in S: if X > 0: if i == "x": X -= 1 else: X += 1 else: if i == "o": X += 1 print(X)
C - Super Ryuma
えー。after contest というテストケースが追加され、再度提出したら見事にWAだったのでショック。。。
学び
$$ |a - c| + |b - d| \le 3 $$ こういうのマンハッタン距離という
嘘解法 Code
r1, c1 = MI() r2, c2 = MI() ans = 0 mk = abs(r1 - r2) + abs(c1 - c2) if r1 == r2 and c1 == c2: ans = 0 elif mk <= 3: ans = 1 else: if mk % 2 == 0: if r1 + c1 == r2 + c2 or r1 - c1 == r2 - c2: ans = 1 else: ans = 2 else: for i in range(-3,4): if ans == 2: break for j in range(-(3 - abs(i)), 3 - abs(i) + 1): # print(i, j) if (r1 + i) + (c1 + j) == r2 + c2 or (r1 + i) - (c1 + j) == r2 - c2: ans = 2 break else: ans = 3 print(ans)
感想
C問題、結局は嘘解法だったけど、その前に変数のミスで二回WAになっている。変数の付け方に問題があると思われる。
例えば、r1, c1 ではなく a, b にすればよかったと思う。
ともかく次回には茶色になれそう