备战蓝桥杯---搜索(应用基础1)

话不多说,直接看题:

显然,我们直接用深搜,我们可以先把空位用结构体存,然后打表存小方块,再用数组存行列。

下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
int a[12][12];
int biao[20][20]={{0,0,0,0,0,0,0,0,0,0},{0,1,1,1,2,2,2,3,3,3},{0,1,1,1,2,2,2,3,3,3},{0,1,1,1,2,2,2,3,3,3},{0,4,4,4,5,5,5,6,6,6},{0,4,4,4,5,5,5,6,6,6},{0,4,4,4,5,5,5,6,6,6},{0,7,7,7,8,8,8,9,9,9},{0,7,7,7,8,8,8,9,9,9},{0,7,7,7,8,8,8,9,9,9}};
int ck[20][20];
int lie[12][12],hang[12][12];
struct node{int x,y;
}b[200];
int cnt;
void print(void){for(int i=1;i<=9;i++){for(int j=1;j<=9;j++){cout<<a[i][j]<<" ";}cout<<endl;}
}
void dfs(int deep){if(deep>cnt){print();return ;}else{for(int i=1;i<=9;i++){if(lie[b[deep].y][i]==0&&hang[b[deep].x][i]==0&&ck[biao[b[deep].x][b[deep].y]][i]==0){lie[b[deep].y][i]=1;a[b[deep].x][b[deep].y]=i;hang[b[deep].x][i]=1;ck[biao[b[deep].x][b[deep].y]][i]=1;dfs(deep+1);lie[b[deep].y][i]=0;hang[b[deep].x][i]=0;ck[biao[b[deep].x][b[deep].y]][i]=0;}}}
}
int main(){for(int i=1;i<=9;i++){for(int j=1;j<=9;j++){cin>>a[i][j];if(a[i][j]!=0){lie[j][a[i][j]]=1;hang[i][a[i][j]]=1;ck[biao[i][j]][a[i][j]]=1;}else{b[++cnt].x=i;b[cnt].y=j;}}}dfs(1);
}

值得注意的,我们其实可以三个判断容器排个序,选出约束条件最多的先枚举,这样虽然复杂度还是一样,但是按照这个顺序就可以更快的确定约束条件多的从而减少不必要的递归次数。

我们可以举个例子:

接题:

下面为分析:

我们写出4与7的组合然后分段计算即可,下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
long long l,r;
long long a[7000];
int cnt;
bool cmp(long long a,long long b){return a<b;
}
void dfs(int deep){if(deep>500000000000LL) return ;a[cnt++]=deep;dfs(10*deep+4);dfs(10*deep+7);
}
signed main(){cin>>l>>r;dfs(0);sort(a+1,a+cnt,cmp);int l1=lower_bound(a+1,a+cnt,l)-a;int r1=lower_bound(a+1,a+cnt,r)-a;long long sum=0;if(l1!=r1){sum+=(a[l1]-l+1)*a[l1];for(int i=l1+1;i<=r1-1;i++){sum+=(a[i]-a[i-1])*a[i];}sum+=(r-a[r1-1])*a[r1];}else{sum=a[r1]*(r-l+1);}cout<<sum;
}

看道有趣的题:

可以用并查集,最后判断与下表面连的点与上表面连的点是否在同一个集合,这里采用BFS,先把与上表面相连的点放队里,在判断与他们相连的点,下面是AC代码:

#include<bits/stdc++.h>
using namespace std;
int t,n,h,r,b[1010];
struct node{int x,y,z;
}a[1010];
int check(node a,node b){if(pow(a.x-b.x,2)+pow(a.y-b.y,2)+pow(a.z-b.z,2)<=4*pow(r,2)){return 1;}return 0;
}
int main(){cin>>t;while(t--){memset(b,0,sizeof(b));queue<node> q;int f=0;scanf("%d%d%d",&n,&h,&r);for(int i=1;i<=n;i++){scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);if(r+a[i].z>=h){q.push(a[i]);b[i]=1;}}while(!q.empty()){node s=q.front();q.pop();if(s.z-r<=0){f=1;break;}for(int i=1;i<=n;i++){if(b[i]==0&&check(a[i],s)==1){q.push(a[i]);b[i]=1;}}}if(f) cout<<"Yes"<<endl;else cout<<"No"<<endl;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/250926.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL进阶45讲【11】怎么更好地给字符串字段加索引?

1 前言 现在&#xff0c;几乎所有的系统都支持邮箱登录&#xff0c;如何在邮箱这样的字段上建立合理的索引&#xff0c;是我们今天要讨论的问题。 假设&#xff0c;现在维护一个支持邮箱登录的系统&#xff0c;用户表是这么定义的&#xff1a; mysql> create table SUser…

学成在线: 新增/修改课程计划

新增/修改课程计划(同接口) 界面原型 第一步: 在课程计划界面,点击添加章新增第一级课程计划,点击添加小节可以向某个第一级课程计划下添加小节 新增章/节成功后会自动发起请求刷新课程计划列表并且把新增的课程计划信息添加到数据库当中,新增的课程计划自动排序到最后 第二…

数据结构—动态查找

动态查找介绍 1. 动态查找的引入&#xff1a;当查找表以线性表的形式组织时&#xff0c;若对查找表进行插入、删除或排序操作&#xff0c;就必须移动大量的记录&#xff0c;当记录数很多时&#xff0c;这种移动的代价很大。 2. 动态查找表的设计思想&#xff1a;表结构本身是…

华为机考入门python3--(5)牛客5-进制转换

分类&#xff1a;数字 知识点&#xff1a; 十六进制转int num int(hex_num, 16) int转十六进制 hex_num hex(num) 题目来自【牛客】 hex_num input().strip() dec_num int(hex_num, 16) print(dec_num) by 软件工程小施同学

uniapp开发一个交流社区小程序

uniapp开发一个交流社区小程序 假期的时候简单学了一下uniapp&#xff0c;想开发一款类似百度贴吧的交流社区来练练手。本篇文章主要记录开发过程&#xff0c;文末附上项目地址。 主要需要开发以下几个页面。 信息页面热榜页面用户主页用户信息页 信息页面 该页面的功能主要…

获取真实 IP 地址(一):判断是否使用 CDN(附链接)

一、介绍 CDN&#xff0c;全称为内容分发网络&#xff08;Content Delivery Network&#xff09;&#xff0c;是一种网络架构&#xff0c;旨在提高用户对于网络上内容的访问速度和性能。CDN通过在全球各地部署分布式服务器节点来存储和分发静态和动态内容&#xff0c;从而减少…

printf死翘翘

本来想把我的单片机玩一下&#xff0c;寄给在大学搞研究的一个朋友&#xff0c;但竟然挂在printf里面&#xff0c;大概知道是什么位置出问题&#xff0c;但是还想不清楚什么原因。 我先是在stc51单片机里面搞了串口&#xff0c;然后我想用串口重定向到printf做调试&#xff0c;…

【考研408】计算机网络笔记

文章目录 计算机网络体系结构计算机网络概述计算机网络的组成计算机网络的功能计算机网络的分类计算机网络的性能指标课后习题 计算机网络体系结构与参考模型计算机网络协议、接口、服务的概念ISO/OSI参考模型和TCP/IP模型课后习题 物理层通信基础基本概念奈奎斯特定理与香农定…

店铺商品管理api接口抓取店铺所有商品接口店铺分析api接口调用演示案例可支持高并发

在当前快速发展的电商行业中&#xff0c;商家需要有效地管理和展示自家店铺的商品。为此&#xff0c;电商平台提供了一种强大的工具——店铺所有商品API接口。这个接口允许商家或开发者通过编程的方式轻松地获取店铺里所有商品的信息&#xff0c;比如商品的名字、价格和库存情况…

记一次 Android CPU高使用率排查

文章目录 背景排查高占用的进程adb shelltoptop -b -H -n 1 | grep 29337 (打印各线程 cpu使用详情)kill -3 29337 (生成trace文件)adb pull /data/anr /Users/gerry.liang/Desktop定位问题 补充说明: 背景 测试同学反馈我们的App CPU使用率 90% 居高不下,经过一番艰难的排查后…

自学网安-IIS服务器

部署环境&#xff1a;win2003 配置环境&#xff1a;winxp ip&#xff1a;10.1.1.2 win2003 ip&#xff1a;10.1.1.1 开始安装 双击“应用程序服务器” 双击“Internet 信息服务&#xff08;IIS&#xff09;” 勾选万维网服务&#xff0c;确定然后下一步 查看端口号;netstat …

Echarts+Vue 首页大屏静态示例Demo 第三版

效果图: 源码: <template><div class="content bg" style="height: 100vh;overflow-y: auto" :class="{ fullscreen-container: isFullScreen }"><div class="reaDiv" style="height: 10vh"><div…

2024 高级前端面试题之 HTTP模块 「精选篇」

该内容主要整理关于 HTTP模块 的相关面试题&#xff0c;其他内容面试题请移步至 「最新最全的前端面试题集锦」 查看。 HTTP模块精选篇 1. HTTP 报文的组成部分2. 常见状态码3. 从输入URL到呈现页面过程3.1 简洁3.2 详细 4. TCP、UDP相关5. HTTP2相关6. https相关7. WebSocket的…

论文阅读:Learning Lens Blur Fields

这篇文章是对镜头模糊场进行表征学习的研究&#xff0c;镜头的模糊场也就是镜头的 PSF 分布&#xff0c;镜头的 PSF 与物距&#xff0c;焦距&#xff0c;光学系统本身的像差都有关系&#xff0c;实际的 PSF 分布是非常复杂而且数量也很多&#xff0c;这篇文章提出用一个神经网络…

【C++】拷贝构造函数和赋值运算符重载详解

目录 拷贝构造函数 概念 特征 赋值运算符重载 运算符重载 赋值运算符重载 ​编辑前置和后置重载 ⭐拷贝构造函数 ⭐概念 拷贝构造函数&#xff1a;只有单个形参&#xff0c;该形参是对本类类型对象的引用(一般常用const修饰)&#xff0c;在用已存 在的类类型对象创建新…

vmware网络配置,VMware的三种网络模式详解与配置

vmware为我们提供了三种网络工作模式 vmware为我们提供了三种网络工作模式, 它们分别是: Bridged&#xff08;桥接模式&#xff09;、NAT&#xff08;网络地址转换模式&#xff09;、Host-Only&#xff08;仅主机模式&#xff09;。 VMware虚拟机的三种网络类型的适用场景如下…

vue项目线上页面刷新报404 解决方法

一.修改配置文件 nginx.conf &#xff0c;并重新加载或重启 我的nginx版本是1.9.9 location / {try_files $uri $uri/ /index.html; }原因&#xff1a; 打包后的dist下只有一个 index.html 文件及一些静态资源&#xff0c;这个是因为Vue是单页应用(SPA)&#xff0c;只有一个…

AVL树

文章目录 AVL树平衡因子 AVL树结点的定义AVL树类和函数接口AVL树插入元素最小不平衡子树旋转 AVL树的验证参考源码 AVL树是对普通二叉搜索树的一种优化。当二叉搜索树插入的元素是有序的时候或者接近有序的时候&#xff0c;二叉搜索树的性能会大大降低。二叉搜索树可能会变成一…

Selenium处理Alert弹窗

页面弹窗有 3 种类型&#xff1a; alert&#xff08;警告信息&#xff09; confirm&#xff08;确认信息&#xff09; prompt&#xff08;提示输入&#xff09; 对于页面出现的 alert 弹窗&#xff0c;Selenium 提供如下方法&#xff1a; 序号 方法/属性 描述 1 ac…

【数据结构】二叉树链式结构的实现

简单不先于复杂&#xff0c;而是在复杂之后。 文章目录 1. 二叉树链式结构的实现1.1 前置说明1.2 二叉树的遍历1.2.1 前序、中序以及后序遍历1.2.2 层序遍历 1.3 节点个数以及高度等1.4 二叉树基础oj练习1.5 二叉树的创建和销毁 1. 二叉树链式结构的实现 1.1 前置说明 在学习二…