当前位置: 首页 > news >正文

蓝桥杯_LITS游戏 俄罗斯方块 模拟 暴力 搜索 DFS 剪纸 枚举

 

 

从格子图的第一个格子开始,依次尝试放置 L、I、T、S 形状。在放置每个形状时,检查当前位置是否合法(是否在格子图范围内且没有被其他形状占据)。如果合法,我们就标记当前位置为已占据,并递归地尝试放置下一个形状。

 

void dfs(int step){ //此时在第step盒子面前,需要往里面放第i张扑克牌

 for(int i=1;i<=n;i++){

 if(book[i]==0){   

 //说明i号扑克牌还在手里,需要放入step号盒子

 a[step]=i;//将i号扑克牌放到第step个盒子中

 book[i]=1;//此时i号扑克牌已经被使用

  

 dfs(step+1);

 /*注意这里是自己调用自己,表示此时走到了第step+1个盒子面前*/  

 book[i]=0;

 /*book[i]=0表示dfs调用结束了,换句话说就是扑克牌已经全部放完了

   需要按照顺序将扑克牌收回,重新放,也就是前面所说的

  */

  }

 }

}

 

private static boolean check(int x, int y, int i, int j, int[][] map) {

        int N = map.length;

        for (int k = 0; k < 4; k++) {

            int dx = x + lits[i][j][k][0];

            int dy = y + lits[i][j][k][1];

            if (dx < 0 || dy < 0 || dx >= N || dy >= N || map[dx][dy] != 1)

                return false;

        }

        return true;

    }

相关文章:

  • TRPO和PPO算法详解
  • C++单例模式
  • 让ChatGPT用DeepReaserch指导进行学术写作
  • vue猜词游戏
  • 进程内存分布--之理论知识
  • 中钧科技通过数字赋能,编织“数字互联网”助力数字化进程!
  • SSM整合实战
  • 手搓多模态-03 顶层和嵌入层的搭建
  • 玄机-应急响应-入侵排查
  • 图解AUTOSAR_SWS_FlexRayARTransportLayer
  • 性能问题排查工具介绍
  • 移动应用开发实验室2024二面纳新题复盘
  • 【家政平台开发(20)】系统监控与日志管理设计:稳固运行的基石
  • 【内网安全】DHCP 饿死攻击和防护
  • [特殊字符] 驱动开发硬核特训 · Day 4
  • Vue3响应式引擎解密:从依赖追踪到性能调优的深度之旅
  • 微服务系统记录
  • Java 数组与 ArrayList 核心区别解析:从源码到实战!!!
  • 远距离无线网络传输设备-网桥(1/5/15 km)
  • C++Primer - 动态内存管理
  • 公司网站建设费用/百度网盘网页版登录入口官网
  • 如何替换网站ico图标/流量宝官网
  • 网站更换ip地址/竞价排名是什么意思
  • 老外把金文做的网站翻译叫什么/免费seo网站诊断
  • 可以做内容的网站/成都sem优化
  • 企业网站建设心得/乐云seo