ABC-A
for 文を用いて 回処理していく系の問題 問題へのリンク 問題概要 整数 が与えられる。 英大文字を 'A' から昇順に 個繋げて得られる文字列を答えよ。 制約 考えたこと for 文を用いて、次のように実装すればよい。 for (int i = 0; i < K; i++) { // i 番目…
文字列を 個受け取る型式に慣れよう! 問題へのリンク 問題概要 は奇数である。 個の文字列 が与えられる。各文字列は "For" か "Againist" かのいずれかである。 "For" が過半数を占めるかどうかを判定せよ。 制約 は 1 以上 99 以下の奇数 考えたこと 個の…
配列の中に配列型式の添字を入れるような処理(A[B[i]] のような)を書けるようになろう! 問題へのリンク 問題概要 あるコンテストでは 問が出題され、配点はそれぞれ 点であった。 参加者のすぬけ君は、このうちの 問 問を解いた。 すぬけ君の得点はいくら…
while 文や for 文で実装できる。 問題へのリンク 問題概要 正の整数 が与えられる。 をこの順に出力せよ。 考えたこと while 文で自然に実装できる。 N >= 0 である限り、N を出力したのち、N の値を 1 下げていけば良い。 コード #include <bits/stdc++.h> using namespac</bits/stdc++.h>…
線形探索法の応用! 問題へのリンク 問題概要 英文字からなる文字列 が与えられる。 この文字列 には、1 個だけ英大文字があり、残りはすべて英小文字である。 この英大文字が先頭から何番目の文字であるかを求めよ。 考えたこと for 文を用いて、各 に対し…
言われた通りに処理していくだけだが、最初は意外と手こずるかもしれない。 問題へのリンク 問題概要 英小文字からなる長さ偶数の文字列 が与えられる。 の順に、 と を入れ替える。 操作後の文字列を出力せよ。 考えたこと C++ では文字列の最初の文字は 0 …
for 文を回しながら「隣接要素」も同時に見ていく系 問題へのリンク 問題概要 文字 M, F からなる長さ の文字列 が与えられる。 この文字列中に同じ文字が連続している箇所が存在しないならば "Yes"、存在するならば "No" を出力せよ。 考えたこと for 文を…
for 文で、隣接する要素も見ながら走査していく系の問題! 問題へのリンク 問題概要 高橋君は時刻 0 にパソコンを起動し、時刻 にクリックをした。 となるとき、クリック はダブルクリックが成立したという。 ダブルクリックが最初に成立した時刻を求めよ。…
再帰関数の練習とも言える問題。問題文に書いてある通りに実装すればよい。 問題へのリンク 問題概要 非負整数 に対して定義される関数 は次のように定義される。 のとき、 非負整数値 が与えられるので、 の値を求めよ。 制約 考えたこと この問題は再帰関…
for 文を工夫しよう 問題へのリンク 問題概要 長さ の数列 が与えられる。 この数列の末尾の 個の要素を順序を保ったまま先頭に持ってきて得られる数列を出力せよ。 制約 考えたこと 次のように考え直すとよい。なお、0-indexed で考えている。 数列の 番目…
文字列を for 文で調べる問題 問題へのリンク 問題概要 文字 o, x, - からなる長さ の文字列 が与えられる。次の条件を満たすかどうかを判定せよ。 文字 o を少なくとも 1 つ含む 文字 x を含まない 制約 考えたこと 文字列 の各文字を for 文で走査すること…
for 文の練習! 問題へのリンク 問題概要 高橋くんと青木くんが 回の試合を行った。 これらの試合の結果を表す長さ が与えられる。 回目の試合の勝者は、 の 文字目が T ならば高橋くん、A ならば青木くんである。 高橋くんと青木くんのうち、勝った試合の数…
16進法に関する問題! 問題へのリンク 問題概要 0 以上 255 以下の整数 が与えられる。 の 16 進法表記を求めよ。 考えたこと 16 進法について知識がなかったら、たとえば次のような記事で勉強するとよさそう! zenn.dev であり、今回与えられる整数 は 255 …
背景に二進法がある問題! 問題へのリンク 問題概要 3 問の問題があって、それぞれ配点は 1 点、2 点、4 点である。 高橋君は 点、青木君は 点であった。すぬけ君は、高橋君が解けた問題は解けて、青木君が解けた問題も解けた。だが、高橋君も青木君も解けな…
ちょっと整理が難しいかもしれない。 問題へのリンク 問題概要 5 個の整数 が与えられる。これらの整数の中に何種類の整数があるかを答えよ。 考えたこと 次のように考える。なお、答えを格納する変数を res とする。 まず整数 のみを考えると、整数は 1 種…
for 文の練習! 問題へのリンク 問題概要 整数 が与えられるので、 の値を答えてください。 ただし、この問題は 択問題であり、 番の選択肢は ] です。正解となる 選択肢の番号 を出力してください。 考えたこと for 文を用いて、 に対して、次のように考え…
意外に細部を詰めるのが大変な感じ。 問題へのリンク 問題概要 2 つの文字 は以下のいずれかの条件を満たすとき、似ているという。 と は同じ文字 のうち、片方が '1' で、もう片方が 'l' のうち、片方が '0' で、もう片方が 'o' 2 つの 文字の文字列 が与え…
「最小値となる添字を求める」というのは、呼吸するように書けるようになりたいところ! 問題へのリンク 問題概要 円周上に時計回りに人 が並んでいる。人 の名前は 、年齢は である(全員の年齢は相異なる)。 年齢が最小である人から開始して時計回りに 人…
ややこしいけど、落ち着いて考えればできる! 問題へのリンク 問題概要 AtCoder 王国の住民は 時になるとたこ焼きへの愛を叫ぶことになっている。 AtCoder 王国に住む高橋君は毎日 時に就寝し 時に起床する。 高橋君はたこ焼きへの愛を叫ぶことができている…
意外と、こういうの最初は詰まるかもしれない! 問題へのリンク 問題概要 英小文字からなる長さが奇数の文字列 が与えられるので、 の中央の文字を出力せよ。 考えたこと の先頭の文字を 0 文字目と考えることにする。結論から言えば、 の長さを としたとき…
これも色んな解法がある! 問題へのリンク 問題概要 英小文字からなる 3 文字以上 100 文字以下の文字列 が与えられる。 はある 1 文字を除いて全て同じ文字で構成されています。その異なる文字があるのは何文字目か? 制約 解法 (1):全探索 大抵の問題は、…
いろんな方法がある! ここでは、文字 '|' のある 2 つの添字を特定するという方法で挑むことにする。 問題へのリンク 問題概要 英小文字と | のみからなる文字列 が与えられる。 は | をちょうど 2 個含むことが保証される。 2 つの | の間にある文字および…
for 文のいい練習問題! 問題へのリンク 問題概要 英小文字と文字 . のみからなる文字列 が与えられる。 を文字 . で分割したときの末尾の文字列を出力してください。 制約 には文字 . が 1 つ以上含まれる 考えたこと まずは、 に含まれる文字 . のうち、最…
基礎的な線形探索の問題! 問題へのリンク 問題概要 アルファベット文字からなる文字列 が与えられる。次の条件を満たすかどうかを判定せよ。 の先頭の文字は大文字である の先頭以外の文字はすべて小文字である 考えたこと まず、先頭の文字が小文字である…
頭がこんがらがる系の問題! 問題へのリンク 問題概要 高橋君と青木君を候補者とする選挙が行われ、 票が投票された。 現在開票中で、高橋君が 票、青木君が 票を得ている。この時点で残りの票にかかわらず勝敗が確定しているかどうかを判定せよ。 制約 は奇…
for 文を使って、等差数列を実現する! 問題へのリンク 問題概要 初項が 、末項が 、公差が であるような等差数列を出力せよ。 なお、そのような等差数列が存在する入力のみが与えられる。 考えたこと 等差数列の中でも、次のようなものは我々はいつも実装し…
サーバル問題 (ABC 153 A) の焼き直し問題。今度は制約が大幅に強化して、long long 型についても学ぶ問題となっている。 問題へのリンク 問題概要 体力が の敵がいます。あなたは、1 回攻撃をすることで敵の体力を 減らすことができる。 敵の体力を 0 以下…
個の文字列の中に、条件を満たすものがあるかどうかを調べる問題! 問題へのリンク 問題概要 個の文字列 の中に、and, not, that, the, you であるものが存在するかどうかを判定せよ。 考えたこと C++ では、vector<string> 型で入力を受け取るとよい(変数名を W な</string>…
文字列の各文字について処理していく問題 問題へのリンク 問題概要 文字 '0' と '1' からなる文字列 が与えられる。 の各文字について、'0' を '1' にして、'1' を '0' にして出力せよ。 考えたこと for 文を用いて、文字列 の各文字 S[i] について、 S[i] …
回足し算する問題! 問題へのリンク 問題概要 組の整数組 が与えられる。 各組について、和 を出力せよ。 制約 考えたこと 「2 つの整数 を受け取って を出力する」という処理を 回繰り返せばよい。 コード #include <bits/stdc++.h> using namespace std; int main() { int</bits/stdc++.h>…