试试
来源:互联网 发布:mac itunes铃声 编辑:程序博客网 时间:2024/04/30 04:35
dsa
#include <vector>#include <list>#include <map>#include <set>#include <deque>#include <queue>#include <stack>#include <bitset>#include <algorithm>#include <functional>#include <numeric>#include <utility>#include <complex>#include <sstream>#include <iostream>#include <iomanip>#include <cstdio>#include <cmath>#include <cstdlib>#include <cstring>#include <ctime>#include <cassert>using namespace std;#define maxn 100005#define ll long long#define inf 2147483647#define INF 9223372036854775807#define db doubleint i,m,n;struct pos { int x,y;}a,b,t,c[maxn];double dis(pos xx,pos yy){ double dist = 0; dist = (db(xx.x-yy.x)*(xx.x-yy.x)+(db)(xx.y-yy.y)*(xx.y-yy.y)); dist = sqrt(dist); return dist;}int main(){ while(cin >>a.x >> a.y >> b.x >> b.y >>t.x >>t.y) { cin >> n; db sum=0; for(i=1;i<=n;i++) { cin >> c[i].x >> c[i].y; sum +=2* dis(c[i],t); } db maa=0; db mab=0; double daa,dbb; double ma=1e20; db mb=1e20 ; int flaga=0; int flagb=0; for(i=1;i<=n;i++) { daa = dis(a,c[i])-dis(c[i],t); dbb = dis(b,c[i])-dis(c[i],t); if(daa<maa) { ma = maa; maa = daa; flaga = i; } else if(daa < ma) { ma = daa; } if(dbb < mab) { mb = mab; mab = dbb; flagb = i; } else if(dbb < mb) { mb = dbb; } } double temp = 0; if(flaga&&flagb) { if(flaga==flagb) { temp+=min(maa+mb,mab+ma); } else { temp+=maa; temp+=mab; } } else if(flaga>0||flagb>0) { if(flaga>0) { temp+=maa; } if(flagb>0) { temp+=mab; } } else { temp+=min(ma,mb); } printf("%.12lf\n",sum+temp); }}
0 0
- 试试
- 试试
- 试试!
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- 试试
- failed to obtain a cell from its dataSource 解决方案
- “58信息定时发布器” 编写纪要
- [从头学声学] 第213节 声调的频谱
- 游戏服务器中的ID生成策略
- iOS自定义NavigationBar
- 试试
- ABAP源代码保护
- 将链表中的数据保存到二进制文件和读出数据
- conrestoneSVN的登录,使用自行解决,嘻嘻
- SUNDIALS-CLN:An Arbitrary Precision Extension of the CVODE Library
- Mac OS中配置环境变量及vim的简单使用
- SuperGarden mySQL常用命令
- linux C 获取当前目录的实现
- SUNDIALS-CLN:An Arbitrary Precision Extension of the CVODE Library