2024-08-11から1日間の記事一覧
連想配列の応用問題! 問題へのリンク 問題概要 個の数列がある。 番目の数列は、長さが であり、その 番目の要素は である。 2 つの数列 は、 であって、任意の に対して であるとき、等しいという。 個の数列の種類数を答えよ。 制約 の総和は 以下 考えた…
文字列の各文字について処理していく問題 問題へのリンク 問題概要 文字 '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>…
二次元配列を見ていく問題 問題へのリンク 問題概要 次のような のグリッドが与えられる。各マスの文字は '.' や '#' である。 文字が '#' であるようなマスの個数を求めよ。 制約 考えたこと 今回のような入力は「長さ の文字列を 個格納した vector<string> 型の配</string>…
この手の for 文は早いうちに練習しておこう! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 を求めよ。 制約 考えたこと とは「 を 回かけた数」である。 このようなものは for 文による「繰り返し処理」で実装できる。具体的には、たとえば変数…
線形探索法の基本問題! 問題へのリンク 問題概要 を並び替えてできる順列 が与えられる。 整数 が与えられるので、 を満たす を求めよ。 考えたこと まず順列 は、サイズ の vector<int> 型の変数 P として受け取ろう(C++)。このとき、 はそれぞれ P[0], P[1],</int>…
きっちり整理しよう! この手の問題は、混乱したらグラフをかくといい! 問題へのリンク 問題概要 高橋君は 歳の誕生日を迎えて、身長は cm となった。 高橋君は 歳までは毎年 cm ずつ伸びた 高橋君は 歳以降は身長が変化しなかった 高橋君の 歳のときの身長…
文字列の一つ一つの文字を順に処理していこう!!という問題 問題へのリンク 問題概要 英小文字のみからなる文字列 が与えられるので、 の文字をすべて大文字にした文字列 を求めよ。 考えたこと まず、C++ ならば、文字 c を大文字にしたものを返す処理は t…
これは面白い! 問題へのリンク 問題概要 文字 v, w のみからなる文字列 が与えられる。 この文字列中の下に尖っている箇所の個数を求めよ(v は 1 個、w は 2 個)。 考えたこと for 文を用いて、文字列 の文字を順に見ていき、それが v ならば 1 を足し、w…
この手の問題は最初にソートすると考えやすいことが多い。 問題へのリンク 問題概要 5 枚のカードには数 が書かれている。これがフルハウスであるかを判定せよ。 なお、5 つの数がフルハウスであるとは、同じ数が書かれたカード 3 枚と、別の同じ数が書かれ…
グリッド上の問題を考えるときには、いつも大事になる処理! 問題へのリンク 問題概要 のグリッドがある。上から 行目、左から 列目のマスを考える。 このマスに辺で隣接するマスの個数を求めよ。 制約 考えたこと ここでは 0-indexed で考える。つまり、一…
1 秒ごとにシミュレーションする方法と、数学的に 2 人の休憩時間をそれぞれ求める方法とがある。どちらもできるようにしておきたい! ここでは、数学的に処理する方法を書く。 問題へのリンク 問題概要 高橋君は「 秒間秒速 メートルで歩き、 秒間休む」こ…