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

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

NoviSteps7Q

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

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

AtCoder ABC 297 A - Double Click (7Q, 灰色, 100 点)

for 文で、隣接する要素も見ながら走査していく系の問題! 問題へのリンク 問題概要 高橋君は時刻 0 にパソコンを起動し、時刻 にクリックをした。 となるとき、クリック はダブルクリックが成立したという。 ダブルクリックが最初に成立した時刻を求めよ。…

AtCoder ABC 273 A - A Recursive Function (7Q, 灰色, 100 点)

再帰関数の練習とも言える問題。問題文に書いてある通りに実装すればよい。 問題へのリンク 問題概要 非負整数 に対して定義される関数 は次のように定義される。 のとき、 非負整数値 が与えられるので、 の値を求めよ。 制約 考えたこと この問題は再帰関…

AtCoder ABC 368 A - Cut (7Q, 灰色, 100 点)

for 文を工夫しよう 問題へのリンク 問題概要 長さ の数列 が与えられる。 この数列の末尾の 個の要素を順序を保ったまま先頭に持ってきて得られる数列を出力せよ。 制約 考えたこと 次のように考え直すとよい。なお、0-indexed で考えている。 数列の 番目…

JOI 予選 2009 A - タイムカード (AOJ 0532) (7Q, 難易度 1)

tuple 値を上手に扱う問題! 問題へのリンク 問題概要 A さん、B さん、C さんの出社時刻と退社時刻がそれぞれ与えられる。時刻は 3 つの整数 で与えられ、それぞれ時刻の時間、分、秒を表す。 3 人それぞれの出勤時間を上述の 3 つの整数で表せ。 制約 考え…

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

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

Chokudai SpeedRun 001 A - 最大値 (7Q)

個の整数の最大値を求めるだけの問題! 問題へのリンク 問題概要 個の整数 の最大値を求めよ。 制約 考えたこと まず、 個の整数 は配列として受け取るのがよいだろう。C++ であれば、vector<int> 型のデータとして受け取ることができる。 さて、これらの値の最大</int>…

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

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

JOI 予選 2008 B - JOIとIOI (AOJ 0522) (7Q, 難易度 2)

近年の ABC A 問題ではよくある「文字列の部分文字列を調べる」系の問題 問題へのリンク 問題概要 文字列 が与えられる。この文字列に含まれる "JOI" の個数と、"IOI" の個数をそれぞれ求めよ。 制約 考えたこと この問題よりも易しいバージョンとして、「文…

AtCoder ABC 268 A - Five Integers (7Q, 灰色, 100 点)

ちょっと整理が難しいかもしれない。 問題へのリンク 問題概要 5 個の整数 が与えられる。これらの整数の中に何種類の整数があるかを答えよ。 考えたこと 次のように考える。なお、答えを格納する変数を res とする。 まず整数 のみを考えると、整数は 1 種…

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

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

AtCoder ABC 304 A - First Player (7Q, 灰色, 100 点)

「最小値となる添字を求める」というのは、呼吸するように書けるようになりたいところ! 問題へのリンク 問題概要 円周上に時計回りに人 が並んでいる。人 の名前は 、年齢は である(全員の年齢は相異なる)。 年齢が最小である人から開始して時計回りに 人…

AtCoder ABC 266 A - Middle Letter (7Q, 灰色, 100 点)

意外と、こういうの最初は詰まるかもしれない! 問題へのリンク 問題概要 英小文字からなる長さが奇数の文字列 が与えられるので、 の中央の文字を出力せよ。 考えたこと の先頭の文字を 0 文字目と考えることにする。結論から言えば、 の長さを としたとき…

AtCoder ABC 344 A - Spoiler (7Q, 灰色, 100 点)

いろんな方法がある! ここでは、文字 '|' のある 2 つの添字を特定するという方法で挑むことにする。 問題へのリンク 問題概要 英小文字と | のみからなる文字列 が与えられる。 は | をちょうど 2 個含むことが保証される。 2 つの | の間にある文字および…

AtCoder ABC 339 A - TLD (7Q, 灰色, 100 点)

for 文のいい練習問題! 問題へのリンク 問題概要 英小文字と文字 . のみからなる文字列 が与えられる。 を文字 . で分割したときの末尾の文字列を出力してください。 制約 には文字 . が 1 つ以上含まれる 考えたこと まずは、 に含まれる文字 . のうち、最…

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

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

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

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

AtCoder ABC 340 A - Arithmetic Progression (7Q, 灰色, 100 点)

for 文を使って、等差数列を実現する! 問題へのリンク 問題概要 初項が 、末項が 、公差が であるような等差数列を出力せよ。 なお、そのような等差数列が存在する入力のみが与えられる。 考えたこと 等差数列の中でも、次のようなものは我々はいつも実装し…

AtCoder ABC 302 A - Attack (7Q, 灰色, 100 点)

サーバル問題 (ABC 153 A) の焼き直し問題。今度は制約が大幅に強化して、long long 型についても学ぶ問題となっている。 問題へのリンク 問題概要 体力が の敵がいます。あなたは、1 回攻撃をすることで敵の体力を 減らすことができる。 敵の体力を 0 以下…

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

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

AtCoder ABC 280 A - Pawn on a Grid (7Q, 灰色, 100 点)

二次元配列を見ていく問題 問題へのリンク 問題概要 次のような のグリッドが与えられる。各マスの文字は '.' や '#' である。 文字が '#' であるようなマスの個数を求めよ。 制約 考えたこと 今回のような入力は「長さ の文字列を 個格納した vector<string> 型の配</string>…

AtCoder ABC 345 A - Leftrightarrow (7Q, 灰色, 100 点)

教育的な for 文の問題! 問題へのリンク 問題概要 <, =, > のみからなる文字列 が与えられる。 先頭の文字が < 末尾の文字が > それ以外の文字が = という条件を満たすかどうかを判定せよ。 考えたこと 先頭が「<」であることや、末尾が「>」であることは容…

AtCoder ABC 260 A - A Unique Letter (7Q, 灰色, 100 点)

条件が複雑なので、綺麗に整理しよう! 問題へのリンク 問題概要 3 文字の文字列 が与えられる。 の中に「一度だけ登場する文字」が存在するならば、そのうちのどれか 1 つを出力せよ。 一度だけ登場する文字が存在しない場合は -1 と出力せよ。 考えたこと …

AtCoder ABC 364 A - Glutton Takahashi (7Q, 灰色, 100 点)

同じ文字が連続するかどうかを判定するのは、しばしば見かけますね。ラストに注意! 問題へのリンク 問題概要 "salty" または "sweet" からなる 個の文字列 がこの順に与えられる。 "sweet" が 2 回連続すると、それ以降の文字列を受け入れられなくなる。す…

AtCoder ABC 253 A - Median? (7Q, 灰色, 100 点)

条件を巧みに言い換えて整理しよう! 問題へのリンク 問題概要 3 個の整数 が与えられる。 がメディアンであるかどうかを判定せよ。 解法 がメディアンとは、すなわち、 を小さい順に並べたときに、 が 2 番目に小さいということである。そのような場合は が…

AtCoder ABC 245 A - Good morning (7Q, 灰色, 100 点)

ペア値の大小比較。もしくは「分」に換算する手もある。 問題へのリンク 問題概要 高橋君は 時 分に起きて、青木君は 時 分 1 秒に起きた。 高橋君の起床時刻が青木君より早いならば Takahashi を、そうでないならば Aoki を出力せよ。 考えたこと ペア値 と…

AtCoder ABC 262 A - World Cup (7Q, 灰色, 100 点)

落ち着いて整理していこう! 問題へのリンク 問題概要 以上の最小の 4 で割って 2 余る整数を求めよ。 制約 考えたこと を 4 で割った余りによって場合分けして考えよう。 が 4 で割り切れるとき:2 足すことで「4 で割って 2 余る整数」になるので、 が答え…

AtCoder ABC 256 A - 2^N (7Q, 灰色, 100 点)

for 文で求めてもいいし、1 << N というようにビットシフト演算子を用いても解ける! 問題へのリンク 問題概要 0 以上の整数 が与えられる。 の値を求めよ。 制約 解法 (1):for 文 は「 を 回かけたもの」です。 回かける処理は for 文で実装できます。 注…

AtCoder ABC 255 A - You should output ARC, though this is ABC. (7Q, 灰色, 100 点)

二次元配列の練習問題! 問題へのリンク 問題概要 整数 と、2 行 2 列からなる行列 が与えられるので、 を出力せよ。 解法 2 行 2 列の行列は、次のような 2 次元の配列で実装できる。 int A[2][2]; そうすると、 行目 列目の要素は、A[R][C] と表せる。 コ…

JOI 一次予選 2020 (第 3 回) A - X に最も近い値 (7Q, 難易度 2)

いろんな解法がある! 問題へのリンク 問題概要 以上 以下の整数のうち、 との差の絶対値が最も小さいものを求めよ。 制約 解法 (1):for 文 一番確実な方法は、for 文を用いて、 をすべて調べることだと思われます。 が最小となるような を求めればよいでし…