AtCoder,数学

問題方針

オーバーフローが問題となるので、整数部と小数部に分けて計算します。\( B \) を \(100\) 倍する方法だと誤差がでるので、文字列として扱います。

コード#include <bits/stdc++.h>us ...

AtCoder,グラフ理論,幅優先探索

問題方針

幅優先探索で迷路を解くような感じで考えます。始点 \( 1 \) から幅優先探索を行い、到達した部屋の道しるべは、直前に来た部屋となります。隣接リストを作成し、到達した部屋のフラグを管理することで探索を行います。

コード ...

AtCoder,数学

問題方針

余弦定理を使います。時針は \( M \) の値に影響を受けることに注意すると、\(1\) 時間で \(30^\circ \) 動くので、

\

動きます。

コード#include <bits ...

AtCoder,グラフ理論

問題方針

配列は \( 0 \) を基準として考えます。

閉路を構築する問題です。頂点 \( 1 \) から出発してループになっている道を見つけるには、頂点に訪れた回数を数えれば良いです。\( 2 \) 回以上訪れた頂点の集 ...

AtCoder,ビット全探索

問題方針

各本に対して読む読まないの \( 2 \) 通りが考えられるので、ビット全探索を行います。

コード#include <bits/stdc++.h>using namespace std;typedef long l ...

AtCoder,数学

問題方針

\( y = x^5 \) というグラフを考えると、発散するスピードが速いことが分かります。よって、\( A , B\) という値は、\( X \) に比べて非常に小さい値を取ることが想像できます。これは、\( y = (x ...

AtCoder,数え上げ

問題方針

展望台 \( i \) が隣接している全ての展望台の中で一番高いかどうかという情報を求めます。これは、全ての道について、\( H(A_i) \) と \( H(B_i) \) という値を比較すれば十分です。

コード#in ...

AtCoder,数学

問題方針

\

\( 0 \leq x \leq N \) の最大値を求めます。整数 \( k, r \) を用いて、\( x \) を次のように表します。

\

このとき、

\begin{e ...

AtCoder,全探索,深さ優先探索

問題方針

全ての数列のパターンに対して得点を求めます。どのように数列を生成するかですが、深さ優先探索を行います。条件を満たす数列が \( i \) 番目まで決まっているとき、\( A_{i + 1} \) の値は、\( A_{i} \l ...

AtCoder

問題方針

セットを使います。

コード#include <bits/stdc++.h>using namespace std;typedef long long ll;int main() { int N; cin>>N; s ...