AtCoder Beginner Contest 266 問題A-G 解説

A - Middle Letter 奇数長の文字列が与えられるので、その中央の文字を出力します。 #include <iostream> #include <string> #include <vector> int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); std::string input_str; std::cin >> input_str; // 0-indexedなので、長さLの文字列の中央は L/2 ...

9月13日 12:05 投稿

ベクトル演算を用いた正方形判定アルゴリズム

問題概要 LeetCodeの問題593では、2次元平面上の4点の座標が与えられ、それらが正方形を形成するかどうかを判定する必要がある。入力される点の順序は任意である。 解法の考え方 ベクトル演算を利用することで効率的に解決できる。基準点を1つ選び、他の3点へのベクトルを計算する。これらのベクトルを長さの昇順に並べ替え、\(\boldsymbol{v}_0, \boldsymbol{v}_1, \bolds ...

5月28日 04:16 投稿

競技プログラミング問題集:幾何、貪欲法、データ構造

円の面積計算 円の面積を計算する際にはπの精度に注意が必要である。以下のコードは入力値nを用いて円の面積を計算する。ここで円の半径はnに関係する(n*n*0.5をπで割る)。 #include<iostream> #include<cmath> using namespace std; int main() { double input; cin >> input; double area = input * input * 0.5 / M_PI; printf("% ...

5月23日 22:12 投稿