結果
問題 | No.105 arcの六角ボルト |
ユーザー | fantasiabaetica |
提出日時 | 2018-07-05 13:54:32 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 66 ms / 5,000 ms |
コード長 | 1,081 bytes |
コンパイル時間 | 845 ms |
コンパイル使用メモリ | 73,512 KB |
実行使用メモリ | 6,816 KB |
最終ジャッジ日時 | 2024-07-01 02:25:02 |
合計ジャッジ時間 | 1,214 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ソースコード
#include <iostream> #include <iomanip> #include <string.h> #include <math.h> #include <cmath> #define REP(i,a,b) for(int i=(a); i<(b); i++) using namespace std; const double pi = 3.141592653589793; void kakudo(double x, double y){ // 逆三角関数 double kakudo = atan2(y, x); //cout << setprecision(10) << kakudo * 180 / pi << endl; printf("%.10f\n", kakudo * 180 / pi); } int main(){ int t; cin >> t; double x[t], y[t]; REP(i ,0, t){ double x_tmp, y_tmp; double sin55 = sin(pi * 55 / 180); double cos55 = cos(pi * 55 / 180); double sinm5 = sin(pi * (-5) / 180); REP(j, 0, 6){ cin >> x_tmp >> y_tmp; // もともと(0,1)にあった点についてのみ考える // 第1象限にある点。2つある場合は、yが小さい方 if (sinm5 < y_tmp && y_tmp < sin55 && cos55 < x_tmp && x_tmp < 1){ x[i] = x_tmp; y[i] = y_tmp; } } } REP(i, 0, t){ kakudo(x[i], y[i]); } return 0; }