博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
upc 9519 New Game
阅读量:4574 次
发布时间:2019-06-08

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

New Game

时间限制: 1 Sec  内存限制: 128 MB  Special Judge
提交: 157  解决: 53
[] [] [] [命题人:]

题目描述

Eagle Jump公司正在开发一款新的游戏。泷本一二三作为其员工,获得了提前试玩的机会。现在她正在试图通过一个迷宫。
这个迷宫有一些特点。为了方便描述,我们对这个迷宫建立平面直角坐标系。迷宫中有两条平行直线 L1:Ax+By+C1=0,L2:Ax+By+C2=0,还有 n 个圆
。角色在直线上、圆上、圆内行走不消耗体力。在其他位置上由S点走到T点消耗的体力为S和T的欧几里得距离。
泷本一二三想从L1出发,走到L2。请计算最少需要多少体力。

 

输入

第一行五个正整数n,A,B,C1,C2(1≤n≤1000,−10000≤A,B,C1,C2≤10000),其中A,B 不同时为 0。
接下来 n 行每行三个整数x,y,r(−10000≤x,y≤10000,1≤r≤10000) 表示一个圆心为 (x,y),半径为 r 的圆。

 

输出

仅一行一个实数表示答案。与标准答案的绝对误差或者相对误差不超过10
-4即算正确。

 

样例输入

2 0 1 0 -40 1 11 3 1

 

样例输出

0.236068

题意

给一些圆和两个平行线,在圆内、圆上和线上走不消耗体力,其它消耗的体力为两点之间的几何距离。

分析

看出来是最短路就很简单了,直接建图跑最短路就可以了。

///  author:Kissheart  ///#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f#define FAST_IO ios::sync_with_stdio(false)const double PI = acos(-1.0);const double eps = 1e-6;const int MAX=1e5+10;const int mod=1e9+7;typedef long long ll;using namespace std;#define gcd(a,b) __gcd(a,b)inline ll lcm(ll a,ll b){ return a/gcd(a,b)*b;}inline ll qpow(ll a,ll b){ll r=1,t=a; while(b){ if(b&1)r=(r*t)%mod;b>>=1;t=(t*t)%mod;}return r;}inline ll inv1(ll b){ return qpow(b,mod-2);}inline ll exgcd(ll a,ll b,ll &x,ll &y){ if(!b){x=1;y=0;return a;}ll r=exgcd(b,a%b,y,x);y-=(a/b)*x;return r;}inline ll read(){ll x=0,f=1;char c=getchar();for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;for(;isdigit(c);c=getchar()) x=x*10+c-'0';return x*f;}//freopen( "in.txt" , "r" , stdin );//freopen( "data.txt" , "w" , stdout );ll p1,p2;ll q1,q2;ll a,b,c;int main(){ int flag=0; scanf("%lld%lld%lld",&a,&b,&c); scanf("%lld%lld%lld%lld",&p1,&p2,&q1,&q2); ll ans=1e18,x,y; for(ll i=-1e5;i<=MAX;i++) { if((c-a*i)%b==0) { x=i; y=(c-a*i)/b; flag=1; ans=min(ans,p2*x*x+p1*x+q2*y*y+q1*y); } } if(flag) printf("%lld\n",ans); else printf("Kuon\n"); return 0;}
View Code

 

 

转载于:https://www.cnblogs.com/Kissheart/p/9751057.html

你可能感兴趣的文章
hash冲突的解决方法
查看>>
Asp.Net webconfig中使用configSections的用法
查看>>
mysql 二进制日志
查看>>
阻止putty变成inactive
查看>>
TP框架代码学习 学习记录 3.2.3
查看>>
doc文档生成带目录的pdf文件方法
查看>>
js数组,在遍历中删除元素(用 for (var i in arr)是无效的 )
查看>>
通过前端上传图片等文件的方法
查看>>
在 OC 中调用 Swift 代码
查看>>
Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
查看>>
安卓|五大逆向软件下载
查看>>
5 OK6410裸机调试(不用Jlink)
查看>>
“模板”学习笔记(5)-----编译器在处理函数模板的时候都干了啥
查看>>
教你用shell写CGI程序
查看>>
窗口 对话框 Pop Dialog 示例
查看>>
ubuntu(centos) server安装vmware tools
查看>>
数据结构之最大不重复串
查看>>
为什么要配置sdk-tools/platform-toools?
查看>>
自己动手开发更好用的markdown编辑器-07(扩展语法)
查看>>
maven dependency:tree中反斜杠的含义
查看>>