算法合集之《杂题大拼盘》.pptVIP

  • 3
  • 0
  • 约1.79千字
  • 约 16页
  • 2017-08-17 发布于安徽
  • 举报
杂题大拼盘 清华大学 计42班 金恺 第一题 新L游戏 问题描述 一个n行m列的棋盘,里面有一个或0个格子已经损坏。请在棋盘上放一些L棋子(如下),使每个未损坏的格子都恰巧被一个L拼块覆盖。 输入有若干行(不超过100),每行为一组数据: 每行四个整数n,m,x,y; 若x=0,y=0则表示所有格子都未损坏,否则表示第x行第y列的格子已损坏。 如果有解输出“I know!” 否则输 “No ans!” 数据范围 1≤n,m≤10100 第二题 消灭魔鬼 有N×M的格栅,每个格子不是平地就是障碍物(边界为障碍物)。 光线能水平或竖直的在平地上行进,但是遇到障碍物就会引发爆炸。 某些平地上已经事先安放上了镜子,有两种方向的镜子(都是双面的) 光线射在镜子上就会反射,满足反射角=入射角。 战士手拿激光枪站在A格的中心,魔鬼站在B格中心(A、B格都是平地且A≠B),请帮助战士消灭魔鬼: 在某些平地上添加一些镜子,然后告诉战士往哪个方向开激光枪。 数据范围: 4≤N,M≤1000 约束: 任意两面镜子(包括事先放好的和你新添加的)都不能放在同一格上; 不能让任何一个障碍物爆炸; 数据保证有解; 镜子越少越好。 输出最小需要添加的镜子数 此例输出2 进一步思考 扩展 用最小费用消灭魔鬼 删除原有镜子,费用f1, 改变镜子的方向,费用f2, 添加新的镜子,费用f3, 移除障碍物,费

文档评论(0)

1亿VIP精品文档

相关文档