Submission #1678267
Source Code Expand
#include <iostream> #include <iomanip> #include <complex> #include <vector> #include <cassert> #include <algorithm> #include <cmath> #include <queue> #include <utility> using namespace std; //num const double EPS = 1e-10; const double INF = 1e12; #define X real() #define Y imag() #define LE(n,m) ((n) < (m) + EPS) #define GE(n,m) ((n) + EPS > (m)) #define EQ(n,m) (abs((n)-(m)) < EPS) // point, line, circle typedef complex<double> P; typedef vector<P> VP; struct C{ P p; double r; C(const P& p, const double& r) : p(p), r(r) {} }; namespace std{ bool operator < (const P& a, const P& b){ return (a.X != b.X)? a.X < b.X : a.Y < b.Y; } } // vector operation double dot(P a, P b){ return (conj(a)*b).X; } double cross(P a, P b){ return (conj(a)*b).Y; } //utility int ccw(P a, P b, P c){ b -= a; c -= a; if(cross(b,c) > EPS) return +1; //counter clockwise if(cross(b,c) <-EPS) return -1; //clockwise if(dot(b,c) < EPS) return +2; //c-a-b if(norm(b) < norm(c)) return -2; //a-b-c return 0; //a-c-b } int main(){ vector<P> v(3); for(int i=0; i<3; i++){ double x,y; cin >> x >> y; v[i] = complex<double>(x,y); } vector<double> len(3); vector<double> angle(3); for(int i=0; i<3; i++){ len[i] = abs(v[(i+1)%3]-v[(i+2)%3]); P e1 = v[(i+1)%3]-v[i]; P e2 = v[(i+2)%3]-v[i]; angle[i] = tan( acos( dot(e1,e2)/(abs(e1)*abs(e2)) ) *0.5 ); } double ans=0; for(int i=0; i<3; i++){ ans = max(ans, len[i]/(2.0 +(1/angle[(i+1)%3]) +(1/angle[(i+2)%3])) ); } cout << fixed; cout << setprecision(11); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Inscribed Bicycle |
User | syl659 |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 1730 Byte |
Status | AC |
Exec Time | 5 ms |
Memory | 512 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0.txt, example1.txt |
All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, example0.txt, example1.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
000.txt | AC | 5 ms | 512 KB |
001.txt | AC | 1 ms | 256 KB |
002.txt | AC | 1 ms | 256 KB |
003.txt | AC | 1 ms | 256 KB |
004.txt | AC | 1 ms | 256 KB |
005.txt | AC | 1 ms | 256 KB |
006.txt | AC | 1 ms | 256 KB |
007.txt | AC | 1 ms | 256 KB |
008.txt | AC | 1 ms | 256 KB |
009.txt | AC | 1 ms | 256 KB |
010.txt | AC | 3 ms | 384 KB |
011.txt | AC | 1 ms | 256 KB |
012.txt | AC | 1 ms | 256 KB |
013.txt | AC | 1 ms | 256 KB |
014.txt | AC | 1 ms | 256 KB |
015.txt | AC | 1 ms | 256 KB |
example0.txt | AC | 1 ms | 256 KB |
example1.txt | AC | 1 ms | 256 KB |