【NOIP2014八校联考第3场第1试10.4】规避(path) (Standard IO)
来源:互联网 发布:修改数据库时间 编辑:程序博客网 时间:2024/06/16 03:41
题意:
求一条路径,不能经过规定的危险区域。
思路:
超级暴力枚举,每次判断两点之间是否可以连线,用计算几何算是否有交点。
程序:
没ac,70分的
type Point=record x,y:real; end;const maxn=300;var a:array [1..maxn] of longint; f:array [1..maxn,1..2] of longint; s:array [1..maxn,1..maxn] of real; i,j,n,x,y,p,k:longint; e,b,c,d:Point;function max(x,y:real):real;begin if x>y then exit(x) else exit(y);end;function min(x,y:real):real;begin if x>y then exit(y) else exit(x);end;function mult(a,b,c:Point):double;begin exit((a.x-c.x)*(b.y-c.y)-(b.x-c.x)*(a.y-c.y));end;function kua(aa,bb,cc,dd:Point):boolean;begin if (max(aa.x, bb.x) <= min(cc.x, dd.x)) then begin exit(false); end; if (max(aa.y, bb.y) <= min(cc.y, dd.y)) then begin exit(false); end; if (max(cc.x, dd.x) <= min(aa.x, bb.x)) then begin exit(false); end; if (max(cc.y, dd.y) <= min(aa.y, bb.y)) then begin exit(false); end; if (mult(cc, bb, aa)*mult(bb, dd, aa)<=0) then begin exit(false); end; if (mult(aa, dd, cc)*mult(dd, bb, cc)<=0) then begin exit(false); end; exit(true);end;function cheak(x1,y1,x2,y2:longint):boolean;var i,j,k,sum:longint;begin sum:=0; for i:=1 to n do begin for j:=1 to a[i] do for k:=j+2 to a[i] do begin e.x:=x1; e.y:=y1; b.x:=x2; b.y:=y2; c.x:=f[sum+j,1]; c.y:=f[sum+j,2]; d.x:=f[sum+k,1]; d.y:=f[sum+k,2]; if kua(e,b,c,d) then exit(false); end; sum:=sum+a[i]; end; exit(true);end;begin readln(n); for i:=1 to maxn do for j:=1 to maxn do s[i,j]:=999999999; for i:=1 to n do begin readln(a[i]); for j:=1 to a[i] do begin inc(p); readln(f[p,1],f[p,2]); end; end; for i:=1 to p do for j:=i+1 to p do if cheak(f[i,1],f[i,2],f[j,1],f[j,2]) then begin s[i,j]:=sqrt(sqr(f[i,1]-f[j,1])+sqr(f[i,2]-f[j,2])); s[j,i]:=s[i,j]; end; for i:=1 to p do for j:=1 to p do if i<>j then for k:=1 to p do if s[i,j]>s[i,k]+s[k,j] then s[i,j]:=s[i,k]+s[k,j]; readln(x,y); writeln(s[x,y]:0:4)end.
0 0
- 【NOIP2014八校联考第3场第1试10.4】规避(path) (Standard IO)
- [JZOJ]3856. 【NOIP2014八校联考第3场第1试10.4】规避
- [JOJZ]3855. 【NOIP2014八校联考第3场第1试10.4】选择困难症
- NOIP2014八校联考第3场第1试10.4】反抗希碧拉系统续(regex)
- 【NOIP2014八校联考第3场第1试10.4】选择困难症(perdant) (堆)
- [JZOJ]3858. 【NOIP2014八校联考第3场第2试10.5】挖掘机技术哪家强
- [JZOJ]3859. 【NOIP2014八校联考第3场第2试10.5】孤独一生
- 【JZOJ3860】【NOIP2014八校联考第3场第2试10.5】地壳运动(mst)
- 【NOIP2014八校联考第3场第2试10.5】地壳运动(mst)
- 【NOIP2014八校联考第3场第2试10.5】挖掘机技术哪家强(shoberu)
- 【NOIP2014八校联考第1场第2试】大水题(water)
- JZOJ 3870. 【NOIP2014八校联考第4场第1试10.19】单词检索(search)
- JZOJ3870. 【NOIP2014八校联考第4场第1试10.19】单词检索(search)
- 单词检索【NOIP2014八校联考第4场第1试10.19】
- 无聊的游戏【NOIP2014八校联考第4场第1试10.19】
- 【NOIP2014八校联考第1场第2试9.21】大水题(water)
- 【NOIP2014八校联考第4场第1试10.19】无聊的游戏(game)
- 【NOIP2014八校联考第4场第1试10.19】圣诞树(tree)
- 开启tomcat的SSL(https)支持
- linux --- inotify 文件系统变化通知机制
- 自省
- linux下perl开发环境
- HDU 3037 lucas + 费马小定理
- 【NOIP2014八校联考第3场第1试10.4】规避(path) (Standard IO)
- IDEA 常用设置
- 数据结构实验之栈六:下一较大值(二)
- 【GDKOI2017模拟1.12】与运算
- (转)Android Context 上下文 你必须知道的一切
- 自学-filterChainDefinitions的源码及和数据库进行交互-17
- POJ1459Power Network(最大流)
- 头文件和源文件的关系
- 单词检索【NOIP2014八校联考第4场第1试10.19】