TakahiroNakamori

TakahiroNakamori

中森崇博(ナカモリタカヒロ)

12 /
18
2021
 

Water Bottle

問題

D – Water Bottle
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技…

記録

解法

コード例

#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll = long long;
using P = pair<int, int>;
#define rep(i, n) for(int i = 0; i < (n); ++i)
// using mint = modint998244353;
// using mint = modint1000000007;
// const int mod = 1000000007;
// const ll INF = 1LL << 60;
// const int INF = 1001001001;

int main() {
  double a, b, x;
  cin >> a >> b >> x;

  double m = a * a;
  double wh = x / m;
  double dh = b - wh;
  double ans = 0.0;

  if(dh <= wh) {
    double v = atan2(dh * 2, a);
    ans = v * 180.0 / M_PI;

  } else {
    double h = 2 * a * wh / b;
    double v = atan2(h, b);
    ans = v * 180.0 / M_PI;
    ans = 90.0 - ans;
  }

  printf("%.16f", ans);
  printf("\n");
}