結果
問題 | No.105 arcの六角ボルト |
ユーザー | はむ吉🐹 |
提出日時 | 2016-02-28 21:13:26 |
言語 | C++11 (gcc 11.4.0) |
結果 |
AC
|
実行時間 | 75 ms / 5,000 ms |
コード長 | 946 bytes |
コンパイル時間 | 947 ms |
コンパイル使用メモリ | 82,108 KB |
実行使用メモリ | 6,812 KB |
最終ジャッジ日時 | 2024-09-24 12:08:27 |
合計ジャッジ時間 | 1,765 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ソースコード
#include <algorithm> #include <complex> #include <cstdlib> #include <iomanip> #include <iostream> #include <vector> constexpr double PI = 3.14159265358979323846; template <typename T> T compute_angle(std::vector<std::complex<T>>& points) { std::vector<T> arguments; for (auto point : points) { arguments.push_back(std::arg(point)); } T minimum_argument = *std::min_element(arguments.begin(), arguments.end()); T answer = (minimum_argument + PI) * 180.0 / PI; if (answer > 55.0) { return 0.0; } else { return answer; } } int main() { unsigned int t; std::cin >> t; for (unsigned int i = 0; i < t; i++) { std::vector<std::complex<double>> points; for (unsigned int j = 0; j < 6; j++) { double x, y; std::cin >> x >> y; std::complex<double> point(x, y); points.push_back(point); } std::cout << std::fixed << std::setprecision(16) << compute_angle<double>(points) << std::endl; } return EXIT_SUCCESS; }