Submission #8538550
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define INF 1LL<<62 #define inf 1000000007 typedef struct{ double x; double y; } vector2D; vector2D nearest( vector2D A, vector2D B, vector2D P ){ vector2D a, b; double r; a.x = B.x - A.x; a.y = B.y - A.y; b.x = P.x - A.x; b.y = P.y - A.y; r = (a.x*b.x + a.y*b.y) / (a.x*a.x + a.y*a.y); if( r<= 0 ){ return A; }else if( r>=1 ){ return B; }else{ vector2D result; result.x = A.x + r*a.x; result.y = A.y + r*a.y; return result; } } double c[11],d[11]; int main() { double a,b; ll n; cin>>a>>b>>n; double ans=inf; for(ll i=0;i<n;i++){ cin>>c[i]>>d[i]; } c[n]=c[0],d[n]=d[0]; for(ll i=1;i<=n;i++){ vector2D A={a,b}; vector2D B={c[i-1],d[i-1]}; vector2D C={c[i],d[i]}; vector2D D=nearest(B,C,A); double dx=sqrt((A.x-D.x)*(A.x-D.x)+(A.y-D.y)*(A.y-D.y)); ans=min(ans,dx); } printf("%.10f\n",ans); // your code goes here return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - アリの高橋くん |
User | mototakashi |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1002 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_00.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask1_00.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 1 ms | 256 KB |
subtask1_03.txt | AC | 1 ms | 256 KB |
subtask1_04.txt | AC | 1 ms | 256 KB |
subtask1_05.txt | AC | 1 ms | 256 KB |
subtask1_06.txt | AC | 1 ms | 256 KB |
subtask1_07.txt | AC | 1 ms | 256 KB |
subtask1_08.txt | AC | 1 ms | 256 KB |
subtask1_09.txt | AC | 1 ms | 256 KB |
subtask1_10.txt | AC | 1 ms | 256 KB |
subtask1_11.txt | AC | 1 ms | 256 KB |
subtask1_12.txt | AC | 1 ms | 256 KB |
subtask1_13.txt | AC | 1 ms | 256 KB |
subtask1_14.txt | AC | 1 ms | 256 KB |
subtask1_15.txt | AC | 1 ms | 256 KB |
subtask1_16.txt | AC | 1 ms | 256 KB |
subtask1_17.txt | AC | 1 ms | 256 KB |
subtask1_18.txt | AC | 1 ms | 256 KB |
subtask1_19.txt | AC | 1 ms | 256 KB |
subtask1_20.txt | AC | 1 ms | 256 KB |
subtask1_21.txt | AC | 1 ms | 256 KB |
subtask1_22.txt | AC | 1 ms | 256 KB |
subtask1_23.txt | AC | 1 ms | 256 KB |
subtask1_24.txt | AC | 1 ms | 256 KB |
subtask1_25.txt | AC | 1 ms | 256 KB |
subtask1_26.txt | AC | 1 ms | 256 KB |
subtask1_27.txt | AC | 1 ms | 256 KB |
subtask1_28.txt | AC | 1 ms | 256 KB |
subtask1_29.txt | AC | 1 ms | 256 KB |