在一个nxm的镜面二维空间内,向(1,1)发射一条射线,来回反射,当遇到四个角之一时光线消失. 给K个点,问K个点第一次被射中是什么时候(v = sqrt(2)) 解:注意到只有 2*(n+m)个对角线,从而从(1,1)发射光线后,最多折射O(n)此. 只需要模拟光线的折射即可. 具体实现时,记录光线的起点,终点.记录直线方程(截距和斜率的正负) 每一次用上一个终点和直线方程算出新的光线的终点. (分为2*2*2 = 8种情况讨论) #include <cstdio> #include <…