hiro1729 競プロ

競プロの解説などを書きます。

2023-01-01から1年間の記事一覧

ABC334-B 解説

B - Christmas Trees $L \le A+kM \le R$ を満たす整数 $k$ の個数を求める問題です。制約が大きいため、全探索では求められません。 これは $L-A \le kM \le R-A$ と言い換えられるので、$L-A$ 以上 $R-A$ 以下の $ M $ の倍数です。$L-A$ と $R-A$ の正負…

ABC334-A 解説

A - Christmas Present $B$ と $G$ が異なるので、$B$ が大きい時はBat、$G$ が大きい時はGloveを出力すればいいです。 Python B, G = map(int, input().split()) if B > G: print("Bat") else: print("Glove") C++ #include <bits/stdc++.h> using namespace std; int main</bits/stdc++.h>…

ABC328-B 解説

B - 11/11 月と日の組み合わせを全探索します。月と日の組み合わせが正しい条件は、月と日の全ての数字が等しいことなので、setに突っ込みます。 Python N = int(input()) D = list(map(int, input().split())) cnt = 0 for i in range(N): for j in range(1…

ABC328-A 解説

A - Not Too Hard やるだけです。forで回してもいいし、Pythonではsumの内部で条件を判定することで簡単に書くことができます。 Python [(iを使った何か) for i in (リスト) if (iの条件)] と書くことでリストから条件を満たす値を抽出できます。 N, X = map…

ABC327-C 解説

C - Number Place ナンプレが正しいかどうかの判定です。 縦、横、ブロックごとにsetに突っ込んで全ての長さが $9$ であるかを判定すればいいです。 Python s = [list(map(int, input().split())) for _ in range(9)] a = [set() for _ in range(9)] b = [se…

ABC327-B 解説

B - A^A $A^{A} = B \le 10^{18} < 16^{16}$ なので、$A$ として $15$ 以下を全て調べればいいです。 Pythonでは $0^{0}=1$ なので、そのケースを含まないように注意しましょう。 Python b = int(input()) for a in range(1, 19): if a ** a == b: exit(prin…

ABC327-A 解説

A - ab 「aとbが隣接する」は「abまたはbaが含まれる」と言い換えられるので、そのまま書きます。 Python N = int(input()) S = input() print("Yes" if "ab" in S or "ba" in S else "No") C++ #include <iostream> using namespace std; int main() { int N; string </iostream>…