結果

問題 No.105 arcの六角ボルト
コンテスト
ユーザー etheriqa
提出日時 2014-12-23 17:25:13
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 36 ms / 5,000 ms
コード長 975 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,236 ms
コンパイル使用メモリ 177,764 KB
実行使用メモリ 7,712 KB
最終ジャッジ日時 2026-03-05 07:20:03
合計ジャッジ時間 1,611 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/x86_64-pc-linux-gnu/bits/stdc++.h:115,
                 from main.cpp:2:
In function 'constexpr long double std::atan2(long double, long double)',
    inlined from 'int main()' at main.cpp:39:19:
/home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/cmath:162:28: warning: 'y' may be used uninitialized [-Wmaybe-uninitialized]
  162 |   { return __builtin_atan2l(__y, __x); }
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~
main.cpp: In function 'int main()':
main.cpp:30:15: note: 'y' was declared here
   30 |     ld x = 0, y;
      |               ^

ソースコード

diff #
raw source code

#if defined(__GNUG__) && !defined(__clang__)
#include <bits/stdc++.h>
#endif

#define inf(T) (numeric_limits<T>::min())
#define sup(T) (numeric_limits<T>::max())
#define rep(i,n) for (int i = 0; i < (n); i++)
#define asc(c) (c).begin(), (c).end()
#define desc(c) (c).rbegin(), (c).rend()
#define mp(...) make_pair(__VA_ARGS__)
#define mt(...) make_tuple(__VA_ARGS__)

using namespace std;

using ll = long long;
using ld = long double;

template <class Key>          using uset = unordered_set<Key>;
template <class Key, class T> using umap = unordered_map<Key, T>;

int main()
{
  cin.tie(0);
  ios::sync_with_stdio(false);

  int t;
  cin >> t;
  ld pi = 4 * atan(1l);
  while (t--) {
    ld x = 0, y;
    rep(i,6) {
      ld xi, yi;
      cin >> xi >> yi;
      if (yi >= 0 && xi > x) {
        x = xi;
        y = yi;
      }
    }
    ld arc = atan2(y, x) / pi * 180;
    if (arc >= 55) arc -= 60;
    cout << fixed << setprecision(6) << arc << endl;
  }

  return 0;
}
0