3.1 疯狂游戏编程题
第一道,大蟑螂生小蟑螂。动态规划
if __name__ == '__main__': dp = [1, 7] n = int(input()) if n == 1: print(dp[-1] * 2) else: for i in range(2, n+1): dp.append(dp[i-1] + dp[i-1]*6) print(dp[-1] * 2)
第二道,判断点是否在给定扇形区域内,数学不好,做了个简单判断,只过了70%。
import math def dis(x, y, ox, oy): return math.sqrt((x-ox)**2 + (y-oy)**2) if __name__ == '__main__': ox, oy, fx, fy, r, x, y = tuple(map(int, input().split())) pianyi = (ox-0, oy-0) fx, fy = fx - pianyi[0], fy - pianyi[1] x, y = x - pianyi[0], y - pianyi[1] k = fy/fx ori = math.atan(fy/fx) low = ori - ((r/2) * math.pi)/180 high = ori + ((r/2) * math.pi)/180 if math.tan(low) * x > y: print(0) elif math.tan(high) * x < y: print(0) else: print(1)第三题,判断经过路径,时间不够了,没做完,思路是哈希表存储,有大佬做完给贴一下吗。