結果
| 問題 |
No.2555 Intriguing Triangle
|
| コンテスト | |
| ユーザー |
shobonvip
|
| 提出日時 | 2023-12-02 00:05:40 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,171 bytes |
| コンパイル時間 | 1,964 ms |
| コンパイル使用メモリ | 193,224 KB |
| 最終ジャッジ日時 | 2025-02-18 03:06:06 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 22 WA * 6 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c; cin >> a >> b >> c;
auto hen_to_cos = [&](long double a, long double b, long double c){
return (a*a + b*b - c*c) / (2.0*a*b);
};
const long double eps = 1e-13;
bool mode = false;
for (int x=a+2; x<b+c; x++){
long double ax = 0.0, ay = 0.0;
long double cx = c, cy = 0.0;
long double bx, by;
long double cos1 = hen_to_cos(b, c, x);
long double sin1 = sqrt(1 - cos1 * cos1);
bx = cos1 * b;
by = sin1 * b;
for (int y=1; ; y++){
if (x-y-a <= 0) break;
long double dx = bx + (cx - bx) * (long double)y / (long double)x;
long double dy = by + (cy - by) * (long double)y / (long double)x;
long double ex = bx + (cx - bx) * (long double)(y+a) / (long double)x;
long double ey = by + (cy - by) * (long double)(y+a) / (long double)x;
long double AD = sqrt((dx - ax) * (dx - ax) + (dy - ay) * (dy - ay));
long double AE = sqrt((ex - ax) * (ex - ax) + (ey - ay) * (ey - ay));
if (abs(hen_to_cos(b, AD, y) - hen_to_cos(c, AE, x-y-a)) < eps){
mode = true;
break;
}
}
if (mode) break;
}
if (mode){
cout << "Yes\n";
}else{
cout << "No\n";
}
}
shobonvip