博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1522 牛的旅行
阅读量:5815 次
发布时间:2019-06-18

本文共 1132 字,大约阅读时间需要 3 分钟。

此题。

调了2+小时。。
终其原因:
1、pow1(x) (x)*(x) !
2、memset(127) 可能比 1e10 小

exin 至极 , 铭记!

#include
#include
#include
#include
#include
#include
#include
#include
#define pow1(x) (x)*(x) #define maxint 1e10using namespace std;int n;double dis[151][151],mdis[151],zx[151],zy[151];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { int x,y; scanf("%d%d",&x,&y); zx[i]=x,zy[i]=y; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { char c; cin>>c; if(c=='1') { dis[i][j]=sqrt(pow1(zx[i]-zx[j])+pow1(zy[i]-zy[j])); } else dis[i][j]=maxint;//初始化 } } for(int k=1;k<=n;k++)//floyed { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i!=j&&i!=k&&j!=k) if(dis[i][k]
len1) len1=mdis[i];//len1 为两个牧场的大的那个直径 double len2=1e20; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i!=j&&dis[i][j]>maxint-1) { len2=min(mdis[i]+mdis[j]+sqrt(pow1(zx[i]-zx[j])+pow1(zy[i]-zy[j])),len2); } } } double ans; ans=max(len1,len2);//连接后两个最小直径 与 一个牧场的直径取最大值 (为防止牧场套牧场的情况) printf("%.6lf",ans); return 0;}

转载于:https://www.cnblogs.com/dfsac/p/6819759.html

你可能感兴趣的文章
Method Swizzling对Method的要求
查看>>
佛祖保佑,永不宕机
查看>>
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
LNMP一键安装
查看>>
Linux 目录结构及内容详解
查看>>
华为3026c交换机配置tftp备份命令
查看>>
Oracle命令导入dmp文件
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
Http、TCP/IP协议与Socket之间的区别(转载)
查看>>
解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
查看>>
.net excel利用NPOI导入oracle
查看>>
vrpie在Visio Studio 中无法调试的问题
查看>>
第六课:数据库的基本工具
查看>>
关于二叉树重构的思索
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
skynet实践(8)-接入websocket
查看>>
系统版本判断
查看>>
My97DatePicker 日历插件
查看>>
0603 学术诚信与职业道德
查看>>
小点心家族第3位成员——楼层定位效果
查看>>