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

蓝桥杯每日一题2023.11.5

题目描述

方格分割 - 蓝桥云课 (lanqiao.cn)

 题目分析

对于每个图我们可以从中间开始搜索,如果到达边界点就说明找到了一种对称的方法,我们可以直接对此进行答案记录每次进行回溯就会找到不同的图像,如果是一样的图像则算一种情况,故我们将图像旋转一周会发现四种相同的情况,最后答案除4即可

注:对称搜索中,我们如果一个点标记为(x, y)则另一个对称点则为(6 - x, 6 - y)

#include<bits/stdc++.h>
using namespace std;
const int N = 2e3 + 10;
int ans;
bool vis[N][N];
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, 1, 0, -1};
void dfs(int x, int y)
{if(x == 0 || y == 0 || x == 6 || y == 6){ans ++;return;}vis[x][y] = 1;vis[6 - x][6 - y] = 1;for(int i = 0; i < 4; i ++){int nx = x + dx[i];int ny = y + dy[i]; if(nx >= 0 && nx <= 6 && ny >= 0 && ny <= 6 && !vis[nx][ny]){dfs(nx, ny);}}vis[x][y] = 0;vis[6 - x][6 - y] = 0;
}
int main()
{dfs(3, 3);cout << ans / 4;return 0;
}
http://www.lryc.cn/news/219279.html

相关文章:

  • 多媒体应用设计师 2023年(含答案回忆版)
  • [Machine Learning][Part 8]神经网络的学习训练过程
  • Git 内容学习
  • Zookeeper3.7.1分布式安装部署
  • CSS必学:元素之间的空白与行内块的幽灵空白问题
  • C++类中对构造函数的重载
  • QtC++与QLabel详解
  • 090基于web+springboot的中小企业设备管理系统
  • input 调起键盘 ,键盘距离输入框底部太近
  • 前端深拷贝与浅拷贝的实现
  • 哆啦百宝箱APP
  • lv9 嵌入式开发 数据库sqlite
  • 「Verilog学习笔记」异步复位的串联T触发器
  • 什么是51单片机,,如何写代码,并且烧录?
  • Multer 实现文件上传功能
  • Excel·VBA工作表导出为图片
  • 【零基础抓包】Fiddler超详细教学(一)
  • 快速入手maven
  • Mysql Binlog日志
  • 高级深入--day45
  • shell_66.Linux修改或移除信号捕获
  • 5 ip的分配
  • 【Python机器学习】零基础掌握StackingClassifier集成学习
  • Spring Boot 常见面试题
  • 利用大语言模型(LLM )提高工作效率
  • [Linux打怪升级之路]-信号的产生
  • Python教程---Python基础语法
  • echarts 画散点图, x周,y周在指定位置标志一下
  • Unity地面交互效果——3、曲面细分基础知识
  • NOIP 赛前模拟总结(第一周)