蓝桥杯每日一题2023.11.23

news/2024/11/24 6:49:58/

题目描述

 

题目分析 

本题使用递归模拟即可,将每一个大格子都可以拆分看成几个小格子,先将最开始的数字进行填入,使每一个对应小格子的值都为大格子对应的数,搜索找到符合要求的即可

(答案:50 33 30 41)

#include<bits/stdc++.h>
using namespace std;
const int N = 2e3 + 10;
bool vis[N];
int mp[N][N];
int a[50] = {0, 2, 5, 9, 11, 16, 17, 19, 21, 22, 24, 26, 30, 31, 33, 35, 36, 41, 50, 52};
void fill(int x, int y, int n, int a)
{for(int i = x; i < x + n; i ++){for(int j = y; j < y + n; j ++){mp[i][j] = a;}}
}
bool check()
{for(int i = 1; i <= 154; i ++){for(int j = 1; j <= 154; j ++){if(mp[i][j] == 0)return false;}}return true;
}
bool che(int x, int y, int n)
{if(x + n - 1 > 154 || y + n - 1 > 154)return false;for(int i = x; i < x + n; i ++){for(int j = y; j < y + n; j ++){if(mp[i][j])return false;}}return true;
}
bool dfs(int x, int y)
{if(check())return true;bool flag = true;for(int i = 1; i <= 154 && flag; i ++){for(int j = 1; j <= 154 && flag; j ++){if(mp[i][j] == 0){x = i;y = j;flag = false;}}}for(int k = 1; k <= 19; k ++){if(vis[k])continue;if(che(x, y, a[k])){fill(x, y, a[k], a[k]);vis[k] = true;if(dfs(x, y + a[k]))return true;fill(x, y, a[k], 0);vis[k] = false;}else return false;}return false;
}
int main()
{fill(1, 1, 47, 47);//在第一行第一列填充边长为47格子的数字 fill(1, 48, 46, 46);//在第一行前47列填完后开始填第一行第48列长度为46格子的数字fill(1, 94, 61, 61);dfs(1, 1);int ans = 0;for(int i = 1; i <= 154; i ++)//输出最后一行的每一列 {if(mp[154][i] != ans){ans = mp[154][i];cout << ans << ' ';	} } return 0;
}

http://www.ppmy.cn/news/1238317.html

相关文章

Qt/QML编程学习之心得:一个Qt工程的学习笔记(九)

这里是关于如何使用Qt Widget开发,而Qt Quick/QML的开发是另一种方式。 1、.pro文件 加CONFIG += c++11,才可以使用Lamda表达式(一般用于connect的内嵌槽函数) 2、QWidget 这是Qt新增加的一个类,基类,窗口类,QMainWindow和QDialog都继承与它。 3、Main函数 QApplicati…

Log4j2.xml不生效:WARN StatusLogger Multiple logging implementations found:

背景 将 -Dlog4j.debug 添加到IDEA的类的启动配置中 运行上图代码&#xff0c;这里log4j2.xml控制的日志级别是info&#xff0c;很明显是没生效。 DEBUG StatusLogger org.slf4j.helpers.Log4jLoggerFactory is not on classpath. Good! DEBUG StatusLogger Using Shutdow…

[媒体]js上传视频图片格式对应的原生type判断

视频格式&#xff1a; wmv: video/x-ms-wmvrm: application/vnd.rn-realmediamov: video/quicktimempeg: video/mpegmp4: video/mp43gp: video/3gppflv: video/x-flvavi: video/x-msvideormvb: application/vnd.rn-realmedia-vbrts: video/mp2tasf: video/x-ms-asfmpg: video/…

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性 1. 基本思想 大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们经常产生包含事实错误的回答,尤其在长尾知识中。 为了解决这一问题,之前的研究人员提出了…

【数据结构(四)】前缀、中缀、后缀表达式(逆波兰表达式)和逆波兰计算器的代码实现(2)

文章目录 1. 前缀表达式(波兰表达式)1.1. 前缀表达式的计算机求值 2. 中缀表达式3. 后缀表达式(逆波兰表达式)3.1. 后缀表达式的计算机求值3.2. 逆波兰计算器的实现 4. 中缀表达式 转 后缀表达式4.1. 思路分析4.2. 代码实现 5. 逆波兰计算器的完整版 1. 前缀表达式(波兰表达式)…

间隔分区表(DM8:达梦数据库)

DM8:达梦数据库 - 间隔分区表 环境介绍1 按 年 - 间隔分区表2 按 月 - 间隔分区3 按 日 - 间隔分区4 按 数值 - 间隔分区表5 达梦数据库学习使用列表 环境介绍 间隔分区表使用说明&#xff1a; 仅支持一级范围分区创建间隔分区。 只能有一个分区列&#xff0c;且分区列类型为…

解决kubernetes中微服务pod之间调用失败报错connection refused的问题

现象&#xff1a; 从这里可以看到是当前服务在调用product service服务是出现了连接拒绝connection refused 走读一下原始代码&#xff1a; 可以看到请求是由FeignClient代理发出的 &#xff0c;但问题在于为什么Feign请求的时候会产生connection refused错误&#xff1f; 上…

基于单片机预费电表控制系统(proteus仿真+源程序)

一、系统方案 1、本设计采用这51单片机作为主控器。 2、采集电量值送到液晶1602显示。 3、按键设置预设值&#xff0c;实际使用电量超过设置&#xff0c;蜂鸣器报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 void LCD_init(void) { …