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

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

NoviSteps6Q

AtCoder ABC 079 C - Train Ticket (6Q, 灰色, 300 点)

ABC-C の最易候補! ビット全探索でもいいが、8 通りだけなので if 文の羅列でも OK。 問題へのリンク 問題概要 4 つの整数 が与えられる。 □ □ □ = 7 となるように、□ に + または - を入れよ。 制約 考えたこと □ は 3 個ある。それぞれに「+」と「-」の…

AtCoder ABC 076 B - Addition and Multiplication (6Q, 灰色, 200 点)

Greedy の本当に初歩の問題といえる。 問題へのリンク 問題概要 整数 1 がある。この整数に対して、以下のいずれかの操作を 回行う。 操作 A:整数値を 2 倍する 操作 B:整数値に を足す 操作後の整数値の最小値を求めよ。 制約 考えたこと 基本的に、「も…

AtCoder ABC 389 B - tcaF (6Q, 灰色, 150 点)

for 文または while 文の練習問題 問題へのリンク 問題概要 正の整数 が与えられる。ある正の整数 が存在して を満たすことが保証される。 を求めよ。 制約 考えたこと と計算を続けていって、 に一致したところで break して、そのときの値を答えればよい。…

AtCoder ABC 378 A - Full House 2 (6Q, 灰色, 100 点)

いろんな解法が考えられる。 問題へのリンク 問題概要 4 枚のカードがあって、それぞれのカードには整数 が書かれている。 ここに 1 枚カードを加え、フルハウスとできるか判定せよ。 制約 考えたこと 色んな解法が考えられるが、この手のものは「ソート」が…

AtCoder ABC 066 B - ss (6Q, 灰色, 200 点)

全探索に慣れよう! 問題へのリンク 問題概要 同じ文字列を二個連結してできるような文字列を「偶文字列」とよぶ。 与えられた偶文字列 について、末尾の文字を 1 文字以上消して作れる偶文字列のうち、その最大長を答えよ。 制約 考えたこと 全探索しよう!…

AtCoder ABC 068 B - Break Number (6Q, 灰色, 200 点)

この手のものは関数化するのがオススメ! 問題へのリンク 問題概要 正の整数 が与えられる。 以上 以下の整数のうち、2 で割れる回数が最大のものを求めよ(タイがないことが証明できる)。 制約 考えたこと 全探索しよう! 具体的には、 について、「 を 2 …

AtCoder ABC 067 B - Snake Toy (6Q, 灰色, 200 点)

ソートの練習! 問題へのリンク 問題概要 個の整数 から 選んで総和をとる。 総和を取った値の最大値を求めよ。 制約 考えたこと 個の整数 を大きい順に並べておいて、大きい順に 個とって足せばよい。 C++ では、大きい順にソートするのは sort(l.begin(), …

AtCoder ABC 063 B - Varied (6Q, 灰色, 200 点)

とても教育的な易しい問題! 問題へのリンク 問題概要 英小文字からなる文字列 が与えられる。 の文字がすべて互いに相異なるかどうかを判定せよ。 解法 (1):多重 for 文 最も素朴な方法は、 から 2 文字を選ぶ方法をすべて試して、「それらが異なっている…

AtCoder ABC 062 B - Picture Frame (6Q, 灰色, 200 点)

こういう処理に慣れておくと、将来的に「番兵法」などにも使える。 問題へのリンク 問題概要 縦 ピクセル、横 ピクセルの画像があります。 各ピクセルは英小文字で表される。 この画像の周囲 1 ピクセルを # で囲んだものを出力してください。 制約 考えたこ…

AtCoder ABC 383 A - Humidifier 1 (6Q, 灰色, 150 点)

これ 150 点なのは解釈一致だし、難しいと思うけど、Difficulty が 19 とすごく低いのが驚き! 問題へのリンク 問題概要 今、時刻 0 で水は 0 L たまっている。 これから時刻 にそれぞれ水が L 注がれる。 なお、水が 1 L 以上あるとき、時刻が 1 経過するご…

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…

AtCoder ABC 380 B - Hurdle Parsing (6Q, 灰色, 200 点)

初歩的な構文解析問題 問題へのリンク 問題概要 "|---|-|----|-|-----|" のような、文字 '-' を文字 '|' で separate された文字列 が与えられる。 各 '-' 区間の '-' の個数を順に出力せよ。 制約 考えたこと ここでは for 文で解いてみよう。次の変数を管…

AtCoder ABC 377 B - Avoid Rook Attack (6Q, 灰色, 200 点)

チェスを題材とした問題 問題へのリンク 問題概要 8 x 8 のチェス盤のいくつかのマスにルーク(上下左右にどこまでも行く)が置かれている。 これらのどのルークにも取られないマスの個数を求めよ。 考えたこと 8 x 8 の盤面に対応する二次元配列を用意して…

AtCoder ABC 091 B - Two Colors Card Game (6Q, 灰色, 200 点)

この問題は、for 文でも解けるし、map でも解ける。ここでは map で解いてみよう。 問題へのリンク 問題概要 個の文字列 と、 個の文字列 が与えられる。 これに対して文字列を考えて、その文字列に対するスコアは ( に含まれている分の個数) - ( に含まれて…

AtCoder ARC 019 A - お買い物クライシス (6Q, 試験管灰色)

if 文を並べてもいいし、map を使ってもよさそう。 問題へのリンク 問題概要 文字列 が与えられる。 の各文字に対して、 O → 0 D → 0 I → 1 Z → 2 S → 5 B → 8 それ以外 → そのまま という変換をして得られる文字列を答えよ。 コード (1):if 文 if 文を使っ…

AtCoder ABC 378 A - Pairing (6Q, 灰色, 100 点)

これ意外と難しいと思う! 問題へのリンク 問題概要 4 個の整数 (1, 2, 3, 4 のいずれか) が与えられる。これら整数に対して、 「2 個同じ整数があったら 2 個まとめて消す」 という操作を最大で何回できるか? 考えたこと 整理が大変だけど、色んな解法があ…

AtCoder ABC 376 A - Candy Button (6Q, 灰色, 150 点)

「前回の値」を保持しながらシミュレーションする系 問題へのリンク 問題概要 ボタンを押すと、1 個の飴がもらえるが、前回飴をもらってから 秒間はもらえない。 高橋君は 回ボタンを押した。それぞれ 秒後に押した(これらは単調増加)。 何回飴をもらえた…

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

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

AtCoder ABC 057 B - Checkpoints (6Q, 茶色, 200 点)

多重 for 文の練習問題! 問題へのリンク 問題概要 二次元平面上に 人の学生と、 個のチェックポイントがある。学生 は座標 にいて、チェックポイント は座標 にいる。 各学生について、その学生からマンハッタン距離が最も近いチェックポイントを求めよ (タ…

AtCoder ABC 374 B - Unvarnished Report (6Q, 灰色, 200 点)

文字列 のサイズが異なる場合の処理などがちょっとだけややこしい。 問題へのリンク 問題概要 文字列 が与えられる。次のいずれかの条件を満たす最小の を求めよ。ただし、 である場合は 0 と答えよ。 かつ であって、 である ] かつ である ] かつ である …

AtCoder ABC 056 B - NarrowRectanglesEasy (6Q, 灰色, 200 点)

ちょっと幾何チックな問題 問題へのリンク 問題概要 考えたこと この手の問題では、 の大小関係が定まっていると考えやすい。そして、 でも でも、どちらでも一般性を失わないので、 として考えよう。 このとき、次のように整理できる。 ならば:すでに連結…

AtCoder ABC 373 B - 1D Keyboard (6Q, 灰色, 200 点)

各文字がどこにあるのかを求めると楽になる。 問題へのリンク 問題概要 'A' から 'Z' までの文字を 1 つずつ含む文字列 が与えられる。 内部での 'A' から 'B' への移動距離 (index の差分) 'B' から 'C' への移動距離 (index の差分) 'C' から 'D' への移動…

JOI 予選 2010 B - すごろく (AOJ 0544) (6Q, 難易度 3)

すごろくを題材にした問題。すごろくの各マスには「oo マス進む」などの指示がある。これを上手に管理しよう。 問題へのリンク 問題概要 マス からなる双六が与えられる。マス 1 がスタート、マス 以上がゴールである。 回サイコロを振って、 回目には目 だ…

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

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

AtCoder ABC 371 A - Jiro (6Q, 灰色, 150 点)

整理するのが大変な問題 問題へのリンク 問題概要 3 つの相異なる整数 がある(値は与えられない)。 これらの 3 つの整数の大小関係を表す 3 つの文字 が与えられる。たとえば が '<' であるとき、 であることを表す。 が '>' であるとき、 であることを表…

AtCoder ABC 050 B - Contest with Drinks Easy (6Q, 灰色, 200 点)

for 文を回す処理を 回やる問題 問題へのリンク 問題概要 個の整数からなる数列 が与えられる。次の 回のクエリに答えよ。 【クエリ】 整数 が与えられる。 を に変更したときの、 の値を答えよ。(なお、クエリごとに変更は引き継がれない。) 考えたこと …

AtCoder ABC 047 B - すぬけ君の塗り絵 2 イージー (6Q, 灰色, 200 点)

「白い部分」が常に長方形であることから、その位置を上手に管理しよう。 問題へのリンク 問題概要 座標平面上で、2 点 を対角線とする長方形領域が与えられる。はじめ、全体が白く塗られている。この領域に対して、次の 回の操作を行なった。 【操作】 3 つ…

AtCoder ABC 046 B - AtCoDeerくんとボール色塗り (6Q, 茶色, 200 点)

高校数学ではお馴染みの塗り分け問題! 問題へのリンク 問題概要 個のボールが一列に並んでいる。これらのボールを 色を使って塗り分ける。ただし、隣り合うボールの色は異なる色にしなければならない。何通りの塗り方があるか? 制約 答えは 以下 考えたこ…

AtCoder ABC 347 B - Substring (6Q, 灰色, 200 点)

set の使い方を覚えよう! 問題へのリンク 問題概要 文字列 が与えられる。 の連続する部分文字列として考えられるものの個数を求めよ。 制約 考えたこと の連続する部分文字列をすべて取り出して、それを set に格納して、そのサイズを求めれば良い。 の連…