Submission #4265801
Source Code Expand
#include <iostream> #include <cmath> #include <iomanip> using namespace std; typedef long double ld; ld ab,bc,ca,s2,h[3]; ld x[3],y[3]; bool f(ld r){ ld a,b,c,d; if(h[0]-r<=0)return false; a=(h[0]-r)/h[0]; if(a*h[1]-r<=0)return false; b=(a*h[1]-r)/(a*h[1]); if(a*b*h[2]-r<=0)return false; c=(a*b*h[2]-r)/(a*b*h[2]); d=a*b*c; if(d*ab>=r*2||d*bc>=r*2||d*ca>=r*2)return true; return false; } int main(void){ for(int i=0;i<3;i++){ cin>>x[i]>>y[i]; if(i>0){ x[i]-=x[0]; y[i]-=y[0]; } } ab=sqrt(x[1]*x[1]+y[1]*y[1]); bc=sqrt((x[2]-x[1])*(x[2]-x[1])+(y[2]-y[1])*(y[2]-y[1])); ca=sqrt(x[2]*x[2]+y[2]*y[2]); s2=abs(x[1]*y[2]-x[2]*y[1]); h[0]=s2/bc; h[1]=s2/ca; h[2]=s2/ab; ld l=0,r=1e4; for(int i=0;i<100;i++){ ld m=(l+r)/2; if(f(m)){ l=m; }else{ r=m; } } cout<<setprecision(20)<<l<<endl; }
Submission Info
Submission Time | |
---|---|
Task | B - Inscribed Bicycle |
User | nuts |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 1031 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 384 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 | 2 ms | 384 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 | 1 ms | 256 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 |