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 投稿