为防止广告,目前nocow只有登录用户能够创建新页面。如要创建页面请先登录/注册(新用户需要等待1个小时才能正常使用该功能)。

USACO/spin

来自NOCOW
跳转到: 导航, 搜索

在360秒后,所有轮子都回到原处,所以只需模拟0~359。

也可以通过判断五个轮子的起始位置是否都在同一个角度上,可能比360秒少讨论几种情况。


对这个题官方数据的边界处理有点质疑 请大家看看我的c/c++代码 (c++,talenth1)


官方数据对[0,1][1,2]这种情形也认为是可以透光的,需要注意,轮子转的方向与理解的也有差异啊。


对边界处理的解释: Usaco原题说的缝隙都是整数的,并不是指离散的一格一格的缝隙。比如数对(0,90)并不是指缝隙集合{0,1,2,3,...,89}而是指一个区间[0,90],在这个区间上,任意一个实数点都算在缝隙内。 考虑到数据规模比较小,所以不必离散化区间,用bool[360]来记录每个整数位置是否是缝隙即可。

目录

[编辑] 参考资料

小学数学奥赛书。。


判断是否是缝隙时可以用线段树,碰到wedge开始的坐标+1,碰到wedge结束的坐标-1,要注意的是处理359->0这个跨度问题,很方便 也很快

[编辑] 模拟

单纯朴素模拟,想不到USACO这么后面还有那么多水题。。。

[编辑] 图搜索

构造隐式图,判重复即可,速度会快

[编辑] 参考代码

C

C++

Pascal

Java

[编辑] 引用

[1]

[2]

个人工具