結果
| 問題 |
No.105 arcの六角ボルト
|
| コンテスト | |
| ユーザー |
はむ吉🐹
|
| 提出日時 | 2016-02-28 21:13:26 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 |
ソースコード
#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;
}
はむ吉🐹