結果
| 問題 |
No.760 Where am I moved to?
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-12-08 00:15:15 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 658 bytes |
| コンパイル時間 | 531 ms |
| コンパイル使用メモリ | 63,168 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-09 18:16:30 |
| 合計ジャッジ時間 | 8,122 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 |
ソースコード
#include <iostream>
#include <complex>
#include <cmath>
using namespace std;
typedef complex<double> P;
const double pi = acos(-1);
P input() {
double x, y;
cin >> x >> y;
return P(x, y);
}
int main() {
P z = input();
double theta;
cin >> theta;
theta = theta / 360 * 2 * pi;
P A = input();
P B = input();
P aa = input();
P bb = input();
P a = (aa - z) * polar(1.0, -theta);
P b = (bb - z) * polar(1.0, -theta);
P ephi = (A - B) / (a - b);
P w = A - a * ephi;
double phi = arg(ephi) / (2 * pi) * 360;
if (phi < 0) phi += 360;
printf("%.15f %.15f %.15f\n", real(w), imag(w), phi);
}