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

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

NoviSteps6Q

AtCoder ABC 356 B - Nutrients (6Q, 灰色, 150 点)

二次元配列の練習問題! 問題へのリンク 問題概要 種類の栄養素があり、 番目の栄養素を g 以上摂取したい。 そこで、 個の食品を食べる。 番目の食品を食べると、栄養素 を g 摂取できる。 この 個の食品を食べることで、 種類すべての栄養素を必要量以上に…

AtCoder ABC 355 B - Piano 2 (6Q, 灰色, 200 点)

ソートの練習! 問題へのリンク 問題概要 長さ の数列 と、長さ の数列 が与えられる。なお、これら 個の値はすべて互いに相異なる。 これらをすべて混ぜた 個の値を小さい順に並べたとき、数列 の要素が 2 個以上連続する箇所があるかどうかを判定せよ。 制…

AtCoder ABC 354 A - Exponential Plant (6Q, 灰色, 100 点)

while 文の練習! 問題へのリンク 問題概要 0 日目には 0 cm の植物がある。 日目の夜に植物は cm 伸びる。 朝に植物を観察するとき、高さが最初に を超えるのは何日目か? 制約 考えたこと 「高さが 以下であるうちは反復し続ける」というような while 文を…

AtCoder ABC 354 B - AtCoder Janken 2 (6Q, 灰色, 200 点)

文字列を辞書順にソートする方法を確認しておこう! 問題へのリンク 問題概要 人のユーザーがいて、 人目の名前は 、レーティングは である。 レーティングの総和を で割った余りを としたとき、各ユーザーの名前のうち、辞書順で小さい順に 番目のものを求…

AtCoder ABC 085 B - Kagami Mochi (6Q, 灰色, 200 点)

古き良き、ABS にも収録した問題! 問題へのリンク 問題概要 個の整数 が与えられる。 これらの整数の中に、相異なる整数は何種類あるかを求めよ。 制約 解法 最も簡単な方法は、集合型 set 型を用いる方法だと思われる。set は 要素の挿入 (集合に要素 を挿…

鉄則本 B04 - Binary Representation 2 (6Q, ★2)

「十進法 → 二進法」変換。これも鉄則本公式解説とは異なる方法でやってみよう。 問題へのリンク editorial 問題概要 二進法で表記された整数 が与えられる。 整数 の十進法表記を求めよ。 解法 たとえば、二進法で表された整数 1101 は、十進法では、次のよ…

鉄則本 A04 - Binary Representation 1 (6Q, ★2)

ここでは鉄則本に乗っているのとは異なる方法でやってみよう! 問題へのリンク 問題概要 整数 が与えられる。 を二進法表記したものについて、先頭を 0 埋めすることで 10 桁で答えよ。 解法:二進法とは 整数 を二進法で表したときの各桁の値が求められれば…

JOI 一次予選 2024 (第 2 回) D - 繰り返し (6Q, 難易度 3)

for 文や while 文を書き慣れている人でも、終了条件を「反復回数満了」以外の方法で記述するのは、意外と戸惑うかもしれない。 問題へのリンク editorial 問題概要 黒板に書かれた整数に対して、以下の操作を繰り返し行う。 書かれた整数 が 3 で割り切れる…

AtCoder ABC B - AtCoder Amusement Park (6Q, 灰色, 200 点)

繰り返し回数を計算する必要もない、本当に愚直なシミュレーション! 問題へのリンク 問題概要 人乗りのゴンドラアトラクションに対して、 組のグループが待機している。グループ の人数は 人である ( が保証される)。 各グループに対して、順に グループ人…

鉄則本 B03 - Supermarket 1 (6Q, ★2)

「組」を全探索する問題! 問題へのリンク 問題概要 個の整数 から 3 個選んで、その和を 1000 にすることが可能かどうかを判定せよ。 解法 github.com コード #include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; vector<int> A(N); for (int i = 0; </int></bits/stdc++.h>…

JOI 一次予選 2024 (第 1 回) D - 現れている数字 (6Q, 難易度 2)

とても教育的な問題ですね。 問題へのリンク editorials 問題概要 0 以上 9 以下の整数からなる、 個の整数 が与えられる。 数列 の中に一度以上登場する整数を小さい順に出力せよ。 解法 (1):値 0, 1, ..., 9 について個別に全探索 1 つめの解法は まず、…

AtCoder ABC 228 A - On and Off (6Q, 灰色, 100 点)

これは結構大変! 問題へのリンク 問題概要 高橋君は、毎日 時 0 分に部屋の電気を点け、 時 0 分に部屋の電気を消す。電気をつけている間に日付が変わることもある。 時 30 分に部屋の電気がついているかどうかを判定せよ。 解法 これは整理するのが大変だ…

AtCoder ABC 350 B - Dentist Aoki (6Q, 灰色, 200 点)

「集計処理」の基本問題! 問題へのリンク 問題概要 (意訳) 個の LED が最初はすべて光っている。 回の処理を行う。 回目の処理では 番目の LED の状態を flip する (光っていたら消して、消えていたら光らせる)。 最終的に何個の LED が光っているかを求め…

AtCoder ABC 326 B - 326-like Numbers (灰色, 200 点)

整数 が 326-like 数かどうかを判定する処理が書ければ、この問題は解ける。 問題へのリンク 問題概要 整数 が 326-like 数であるとは、3 桁の正の整数であって、百の位と十の位の積が一の位に等しいことをいう。 与えられた整数 以上の、最小の 326-like 数…

AtCoder ABC 319 B - Measure (灰色, 200 点)

問題文で書かれた通りに実装するだけなのだが、問題文の内容を理解するのが大変で、戸惑った人も多いかもしれない。 問題へのリンク 問題概要 正の整数 が与えられるので、次のようにして定まる 文字の文字列 を出力せよ。 に対して、1 以上 9 以下の の約数…

JOIG 2023 B - 絶対階差数列 (AOJ 0758) (6Q, 難易度 2)

いわゆる「愚直シミュレーション」と呼ばれる分野の問題ですね。問題文で指示されたことを、とにかく愚直に忠実に実装できるかが問われています。地味な印象を受けるかもですが、大切なスキルです! 問題へのリンク 問題概要 黒板に、はじめ 個の整数値 が書…