海战游戏
来源:互联网 发布:windows xp 样式 编辑:程序博客网 时间:2024/04/30 02:00
在N*M的矩阵上,放置了L个军舰,军舰的左上角坐标为ux,uy,左下角坐标为dx,dy。军舰是一个矩形。现在要放置第L+1个军舰,但是军舰不能重叠,并且上下左右,上左,上右,下左,下右都不能相邻。求放置一个长为p,宽为q的军舰的放置方案数(放置方案)。
2<=N,M<=30000,L<=30;
朴素的方法。对军舰可以放置的位置进行枚举,并且判断每一个位置是否与其他军舰冲突。时间复杂度为O(MNL)
补集的方法。计算所有冲突的位置,用总放置方法减去,就是我们可以放的地方。时间复杂度为(p^2*q^2*L^2)军舰大小远远小于M,N,
该方法提高了时间效率
代码如下
- 海战游戏
- 游戏——海战棋
- 海战
- codevs1536 海战
- [vijosP1076]海战
- 【u006】海战
- 《疯狂海战》策划案
- 蓝海战略
- 蓝海战略
- 蓝海战略?
- 蓝海战略
- 蓝海战略
- 《蓝海战略》读书笔记
- POJ 1856(海战)
- 【其他】wikioi 1536 海战
- 蓝海战略
- codevs 1536 海战
- C语言模拟海战
- 诺顿
- 第一章 Struts2 概览
- javascript设置日期输出格式
- linux-epoll笔记
- vss简介
- 海战游戏
- Tomcat配置中自定义Web应用目录
- 第四章 Tablib Struts标签库
- ubuntu通过桥接方式上网
- storage protocols
- base64编解码
- jpgraph 折线图统计代码
- java实现接口类
- Linux下socket设置为非阻塞方式和fcntl系统调用