けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

易しいYes/No判定問題

AtCoder ABC 381 A - 11/22 String (6Q, 灰色, 150 点)

ちゃんと整理するのは大変だ。落ち着いて整理しよう。 問題へのリンク 問題概要 長さ の文字列 が与えられる。 が "11/22 文字列" であるかどうかを判定せよ。 11/22 文字列であるとは、文字 1, /, 2 がこの順に並んでいて、1 と 2 の個数が等しいものをいう…

AtCoder ABC 003 B - AtCoderトランプ (6Q, 試験管茶色)

for 文の練習問題 問題へのリンク 問題概要 長さの等しい 2 つの文字列 が与えられる。 に含まれる各文字 '@' について、'a', 't', 'c', 'o', 'd', 'e', 'r' のいずれかに置き変えることで、 が一致するようにできるかを判定せよ。 制約 [tex 1 \le |S| = |T…

CODE FESTIVAL 2017 qual B B - Problem Set (4Q, 茶色, 200 点)

素朴な map の練習問題 問題へのリンク 問題概要 りんごさんは 個の問題案を持っており、 個目の問題案の難易度は である。 ここから、配点が であるような 問からなる問題セットを作ることは可能か? 制約 考えたこと 連想配列 (C++ ならば map) の練習問題…

AtCoder ABC 380 A - 123233 (7Q, 灰色, 100 点)

ソートが使えるなら、それが楽だと思う 問題へのリンク 問題概要 6 桁の正の整数 が与えられる。 が次の条件を満たすかどうかを判定せよ。 1 をちょうど 1 個含む 2 をちょうど 2 個含む 3 をちょうど 3 個含む 解法 (1):1, 2, 3 の個数を数える方法 for 文…

AtCoder ABC 377 A - Rearranging ABC (7Q, 灰色, 100 点)

昔の ABC A 問題はこういうのよくあった! 問題へのリンク 問題概要 3 文字の文字列 が与えられる。これを並び替えることで "ABC" に一致させることができるかどうかを判定せよ。 考えたこと 並び替えて "ABC" に一致する文字列は "ABC" "ACB" "BAC" "BCA" "…

AtCoder ABC 333 B - Pentagon (6Q, 灰色, 200 点)

ちょっとした算数・数学の問題! 問題へのリンク 問題概要 考えたこと A, B, C, D, E をそれぞれ 0, 1, 2, 3, 4 と対応させよう(0 始まりにするのがコツ)。このとき、対角線の長さは、対角線の両端に対応する数値の差で表すことができる。 たとえば、線分 …

AtCoder ABC 374 A - Takahashi san 2 (7Q, 灰色, 100 点)

関数 substr() の練習! 問題へのリンク 問題概要 4 文字以上 30 文字以下の文字列 が与えられる。 の末尾 3 文字が "san" であるかどうかを判定せよ。 考えたこと 文字列 の末尾 3 文字は S.substr(S.size() - 3) で取得できる。 これが "san" かどうかを判…

AtCoder ABC 054 B - Template Matching (5Q, 緑色, 200 点)

少し実装が重たい全探索問題! 問題へのリンク 問題概要 の白黒グリッド と、 の白黒グリッド が与えられる ()。 グリッド のパターンがグリッド の中に含まれるかどうかを判定せよ。 制約 考えたこと グリッド のすべてのマス について、次の判定をしていけ…

AtCoder ABC 371 B - Taro (6Q, 灰色, 200 点)

バケットを活用する練習問題! 問題へのリンク 問題概要 AtCoder 王国には 家がある。どこかの家で順に 人の赤子が生まれた。 人目の赤子は家 で生まれ、性別は ('M' または 'F')であった。 各赤子が長男であるかどうかを判定せよ。 制約 考えたこと 人目…

AtCoder ABC 349 B - Commencement (5Q, 灰色, 200 点)

まずは各文字が何回ずつ使われるかを求めよう! 問題へのリンク 問題概要 英小文字のみからなる長さ の文字列 が与えられる。次の条件を満たすかどうかを判定せよ。 【条件】 すべての に対して、 中にちょうど 回登場する文字が 0 種類または 2 種類である…

AtCoder ABC 153 B - Common Raccoon vs Monster (8Q, 灰色, 200 点)

for 文の練習問題! 問題へのリンク 問題概要 HP が であるモンスターを倒したい。 種類の必殺技を順に使っていく。 種類目の必殺技はモンスターの HP を だけ減らすことができる。 モンスターの HP を 0 以下にすることができるかどうかを判定せよ。 考えた…

第 16 回 PAST A - ツバメ (8Q)

簡単な if 文の問題! 問題へのリンク 問題概要 日本では、ツバメは 4 月から 9 月まで観察できる。 1 以上 12 以下の整数 が与えられるので、 月にツバメを観察できるか答えてください。 考えたこと 次のように考えればよい。 のとき:"Yes" そうでないとき…

AtCoder ABC 362 B - Right Triangle (6Q, 灰色, 200 点)

三平方の定理を思い出そう! 問題へのリンク 問題概要 座標平面上の 3 個の格子点 が与えられる。 これら 3 点 が直角三角形をなすかどうかを判定せよ。 制約 座標値は -1000 以上 1000 以下 考えたこと 3 点 A, B, C が直角三角形をなす条件は のいずれかを…

第 9 回 PAST A - アトラクション (8Q)

if 文と、論理演算子の練習! 問題へのリンク 問題概要 あるアトラクションに乗るには、身長が 以上、体重が 以下である必要がある。 身長が 、体重が である高橋君は乗れるか? 考えたこと かつ であるかどうかを判定すればよい。 C++ であれば、論理演算子…

第 15 回 PAST B - 殿堂入り (9Q)

if 文の練習問題 問題へのリンク 問題概要 高橋君の現在のレーティングは 、最高レーティングは である。 高橋君の最高レーティングが 2800 以上であるかどうかを判定せよ。 考えたこと は結局関係ない。 H >= 2800 ならば "o" そうでなければ "x" を出力す…

AtCoder ABC 285 A - Edge Checker 2 (7Q, 灰色, 100 点)

規則性を発見しよう! この規則は今後セグメントツリーなどを学ぶときにも活用する! 問題へのリンク 問題概要 次の図において、 番目の頂点と 番目の頂点がつながっているかを判定せよ。 考えたこと 図を見ると、次の規則があることがわかる。 番号が であ…

AtCoder ABC 287 A - Majority (7Q, 灰色, 100 点)

文字列を 個受け取る型式に慣れよう! 問題へのリンク 問題概要 は奇数である。 個の文字列 が与えられる。各文字列は "For" か "Againist" かのいずれかである。 "For" が過半数を占めるかどうかを判定せよ。 制約 は 1 以上 99 以下の奇数 考えたこと 個の…

AtCoder ABC 296 A - Alternately (7Q, 灰色, 100 点)

for 文を回しながら「隣接要素」も同時に見ていく系 問題へのリンク 問題概要 文字 M, F からなる長さ の文字列 が与えられる。 この文字列中に同じ文字が連続している箇所が存在しないならば "Yes"、存在するならば "No" を出力せよ。 考えたこと for 文を…

AtCoder ABC 298 A - Job Interview (7Q, 灰色, 100 点)

文字列を for 文で調べる問題 問題へのリンク 問題概要 文字 o, x, - からなる長さ の文字列 が与えられる。次の条件を満たすかどうかを判定せよ。 文字 o を少なくとも 1 つ含む 文字 x を含まない 制約 考えたこと 文字列 の各文字を for 文で走査すること…

AtCoder ABC 301 A - Overall Winner (7Q, 灰色, 100 点)

for 文の練習! 問題へのリンク 問題概要 高橋くんと青木くんが 回の試合を行った。 これらの試合の結果を表す長さ が与えられる。 回目の試合の勝者は、 の 文字目が T ならば高橋くん、A ならば青木くんである。 高橋くんと青木くんのうち、勝った試合の数…

AtCoder ABC 303 A - Similar String (7Q, 灰色, 100 点)

意外に細部を詰めるのが大変な感じ。 問題へのリンク 問題概要 2 つの文字 は以下のいずれかの条件を満たすとき、似ているという。 と は同じ文字 のうち、片方が '1' で、もう片方が 'l' のうち、片方が '0' で、もう片方が 'o' 2 つの 文字の文字列 が与え…

AtCoder ABC 188 B - Orthogonality (8Q, 灰色, 200 点)

2 個の配列を同時に for 文を使って調べていこう! 問題へのリンク 問題概要 2 つの 次元ベクトル と が与えられて、 を満たすかどうかを判定せよ。 考えたこと 配列が 2 つあっても、for 文を用いて、共通の添字 を回しながらアクセスできる。 次のコードを…

AtCoder ABC 367 A - Shout Everyday (6Q, 灰色, 150 点)

ややこしいけど、落ち着いて考えればできる! 問題へのリンク 問題概要 AtCoder 王国の住民は 時になるとたこ焼きへの愛を叫ぶことになっている。 AtCoder 王国に住む高橋君は毎日 時に就寝し 時に起床する。 高橋君はたこ焼きへの愛を叫ぶことができている…

AtCoder ABC 247 B - Unique Nicknames (5Q, 灰色, 200 点)

意外と頭がこんがらがる 問題へのリンク 問題概要 人の人 がいて、人 の名字は 、名前は である。 各人にニックネームをつけたい。人 のニックネーム は または である かつ である任意の に対して、 かつ である という条件を満たす必要がある。このような…

AtCoder ABC 338 A - Capitalized? (7Q, 灰色, 100 点)

基礎的な線形探索の問題! 問題へのリンク 問題概要 アルファベット文字からなる文字列 が与えられる。次の条件を満たすかどうかを判定せよ。 の先頭の文字は大文字である の先頭以外の文字はすべて小文字である 考えたこと まず、先頭の文字が小文字である…

AtCoder ABC 366 A - Election 2 (7Q, 灰色, 100 点)

頭がこんがらがる系の問題! 問題へのリンク 問題概要 高橋君と青木君を候補者とする選挙が行われ、 票が投票された。 現在開票中で、高橋君が 票、青木君が 票を得ている。この時点で残りの票にかかわらず勝敗が確定しているかどうかを判定せよ。 制約 は奇…

AtCoder ABC 295 A - Probably English (7Q, 灰色, 100 点)

個の文字列の中に、条件を満たすものがあるかどうかを調べる問題! 問題へのリンク 問題概要 個の文字列 の中に、and, not, that, the, you であるものが存在するかどうかを判定せよ。 考えたこと C++ では、vector<string> 型で入力を受け取るとよい(変数名を W な</string>…

AtCoder ABC 216 B - Same Name (6Q, 灰色, 200 点)

ペアを全探索する問題! 問題へのリンク 問題概要 人がいて、人 の名字は 、名前は である。 同姓同名であるような人の組が存在するかを求めよ。 制約 考えたこと 0-indexed で考える。 を満たす であって、 かつ を満たすものが存在するかどうかを求めれば…

AtCoder ABC 230 B - Triple Metre (6Q, 灰色, 200 点)

実は愚直に文字列 を作っても解ける! 問題へのリンク 問題概要 文字列 を、"oxx" を 個連結した文字列とする。 与えられた文字列 が、 の部分文字列であるかどうかを判定せよ。 制約 考えたこと 一般に、文字列 が文字列 を部分文字列にもつかどうかは次の…

AtCoder ABC 229 B - Hard Calculation (6Q, 灰色, 200 点)

これは上手にやろう! 問題へのリンク 問題概要 2 つの正の整数 を足すとき、繰り上がりが発生するかどうかを判定せよ。 制約 考えたこと 一見いかめしい問題を解くときには、少しでも思考をシンプルにしていこう! 繰り上がりがないというのは、次のことと…