結果

問題 No.760 Where am I moved to?
ユーザー chocorusk
提出日時 2018-12-08 00:28:28
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,704 bytes
コンパイル時間 831 ms
コンパイル使用メモリ 96,980 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-12 07:09:52
合計ジャッジ時間 7,748 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 11
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
#include <cmath>
#include <bitset>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <algorithm>
#include <complex>
#include <unordered_map>
#include <unordered_set>
#include <random>
using namespace std;
typedef long long int ll;
//typedef pair<int, int> P;
const double PI=acos(-1.0);
const double EPS=1e-10;
double add(double a, double b){
if(abs(a+b)<EPS*(abs(a)+abs(b))) return 0;
return a+b;
}
struct P{
double x, y;
P() {}
P(double x, double y): x(x), y(y){
}
P operator+ (P p){
return P(add(x, p.x), add(y, p.y));
}
P operator- (P p){
return P(add(x, -p.x), add(y, -p.y));
}
P operator* (double d){
return P(x*d, y*d);
}
double dot(P p){
return add(x*p.x, y*p.y);
}
double det(P p){
return add(x*p.y, -y*p.x);
}
bool operator< (const P& p) const{
if(abs(x-p.x)>EPS){
return x<p.x;
}else{
return y<p.y-EPS;
}
}
};
double atan(P p){
return atan2(p.y, p.x);
}
P rot(P p, double t){
return P(p.x*cos(t)-p.y*sin(t), p.x*sin(t)+p.y*cos(t));
}
int main()
{
double xa, ya, ta;
cin>>xa>>ya>>ta;
ta=ta/180*PI;
P p0=P(xa, ya);
double x11, y11, x12, y12, x21, y21, x22, y22;
cin>>x11>>y11>>x12>>y12>>x21>>y21>>x22>>y22;
P p1=P(x11, y11), p2=P(x12, y12), q1=P(x21, y21), q2=P(x22, y22);
double t=atan(p2-p1)-atan(q2-q1);
double tb=ta+t;
if(tb<0){
while(tb<0) tb+=(2*PI);
}else if(tb>=2*PI){
while(tb>=2*PI) tb-=(2*PI);
}
P q0=p1-rot(q1-p0, t);
printf("%.3lf %.3lf %.3lf\n", q0.x, q0.y, tb/PI*180);
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0