pku3151 运动规划

1个评论14次阅读2008.09.14 0:15; 作者:Felicia 

这个题非常麻烦。
我的做法是:
amath

  • 把矩形按半径`r`扩展为新的矩形和圆
  • 求出所有圆的公切线和切点,以及`s,t`两点与所有圆的切线和切点
  • 判断切点是否合法,即判断切点是否被矩形或圆覆盖
  • 删去所有不合法的切线,得到合法的切线
  • 将圆弧上的点排序,枚举每个`1/4`圆弧上的相邻两点,若他们都是合法点,并且这个圆弧不与任何矩形和圆相交,那么定义他们之间的距离为他们的弧长
  • 将以上处理得到的两点间距离加入无向图中,求`s`到`t`的最短路。

endamath
做这个题的时候发生了非常诡异的现象,在 TJU 上用 g++ 交AC,PKU 上则 RE,但是用 C++ 交却 AC了……有谁知道是为什么呢?

相关文章

  • 评论 (1)
  • 引用通告 (0)
发表评论 引用通告

  • Felicia | 回复 1F

    九月 14th, 2008 at 00:18

    貌似跟编译参数有关……还是弄不懂。我自己测试的时候同样的程序加 -O 和不加,跑出来的结果是不一样的……

暂无引用通告