蓝桥杯打卡Day2


文章目录

  • 糖果分享游戏
  • 玛雅人的密码

一、糖果分享游戏IO链接

本题思路:本题是一道模拟题,最终需要每个人得到相同的糖果,那么此时我们开辟一个数组用来保存每个人分一半的结果,然后每个人都需要从左边拿到对方糖果,那么左边就是可以计算为(n+i-1)%n。然后对于糖果为奇数的人进行++操作。

#include <bits/stdc++.h>constexpr int N=110;int n;
int c[N],tmp[N];//c[N]用来表示每个人所拥有的糖果数量,tmp[N]临时数组用来分配bool check()
{for(int i=0;i<n-1;i++)if(c[i]!=c[i+1])//判断当前是否所有人都拥有相同的糖果return false;return true;
}int main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);while(std::cin>>n,n){int cnt=0;for(int i=0;i<n;i++) std::cin>>c[i];while(!check()){cnt++;for(int i=0;i<n;i++) tmp[i]=c[i]/2;//首先将所有人的糖都分一半for(int i=0;i<n;i++){c[i]=tmp[i]+tmp[(n+i-1)%n];if(c[i]%2) c[i]++;}}std::cout<<cnt<<" "<<c[0]<<std::endl;}return 0;
}

二、玛雅人的密码IO链接

 本题思路:本题思路是BFS+哈希的方式解决,首先我们需要将序列串加入到队列中,利用哈希表来统计进行每一次交换后的字符是否重复,如果不重复利用哈希表来进行统计变换到当前字符串的操作次数

#include <bits/stdc++.h>int n;
std::string s;
std::unordered_map<std::string,int> hash;//利用哈希表来统计每次交换后的字符int bfs()
{std::queue<std::string> q;q.push(s);//利用bfs的思路将当前需要进行操作的字符串加入到队列中去hash[s]=0;//进行宽搜while(!q.empty()){auto t=q.front();q.pop();for(int i=0;i<n-3;i++){//遍历前n-3个字符以4个字符为长度看是否满足条件if(t.substr(i,4)=="2012")return hash[t];}for(int i=0;i<n-1;i++){std::string tmp=t;//这里需要保留当前t串,是为了统计次数std::swap(tmp[i],tmp[i+1]);if(!hash.count(tmp)){hash[tmp]=hash[t]+1;q.push(tmp);}}}return -1;
}int main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);std::cin>>n;std::cin>>s;std::cout<<bfs()<<std::endl;return 0;
}

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

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

相关文章

iPhone 15 Pro展示设计:7项全新变化呈现

我们不应该再等iPhone 15 Pro在苹果9月12日的“Wonderlust”活动上发布了&#xff0c;而且可能会有很多升级。有传言称&#xff0c;iPhone 15 Pro将是自iPhone X以来最大的飞跃&#xff0c;这要归功于大量的新变化&#xff0c;从带有更薄边框的新钛框架到顶级A17仿生芯片和动作…

SPI协议

文章目录 前言一、简介1、通信模式2、总线定义3、SPI通信结构4、SPI通讯时序5、SPI数据交互过程 二、多从机模式1、多NSS2、菊花链3、SPI通信优缺点4、UART、IIC、SPI 区别 三、总结四、参考资料 前言 SPI协议是我们的重要通信协议之一&#xff0c;我们需要掌握牢靠。 一、简介…

春秋云镜 CVE-2018-1000533

春秋云镜 CVE-2018-1000533 gitlist远程命令任意执行 靶标介绍 gitlist是一款使用PHP开发的图形化git仓库查看工具。在其0.6.0版本中&#xff0c;存在一处命令参数注入问题&#xff0c;可能导致远程命令执行漏洞 启动场景 漏洞利用 exp POST /example/tree/a/search HTTP/…

Rocky(Centos)安装中文字体(防止中文乱码)

1、查看字体列表 运行下列命令 fc-list 若出现&#xff0c;下面截图&#xff0c;则需要安装字体管理软件 安装字体库&#xff0c;运行&#xff1a; yum -y install fontconfig 当看到下图的提示信息时说明已安装成功&#xff1a; 二、添加中文字体 1&#xff09;window…

Matlab图像处理-巴特沃思低通滤波器

巴特沃思低通滤波器 巴特沃思低通滤波器又称作最大平坦滤波器。与理想滤波器不同的是&#xff0c;巴特沃斯低通滤波器的传递函数并没有给出明显截止的尖锐的不连续性。一阶巴特沃斯滤波器没有振铃现象&#xff0c;在二阶滤波器中&#xff0c;振铃现象通常很难察觉&#xff0c;…

nlp系列(7)实体识别(Bert)pytorch

模型介绍 本项目是使用Bert模型来进行文本的实体识别。 Bert模型介绍可以查看这篇文章&#xff1a;nlp系列&#xff08;2&#xff09;文本分类&#xff08;Bert&#xff09;pytorch_bert文本分类_牧子川的博客-CSDN博客 模型结构 Bert模型的模型结构&#xff1a; 数据介绍 …

【校招VIP】前端JavaScript语言之跨域

考点介绍&#xff1a; 什么是跨域&#xff1f;浏览器从一个域名的网页去请求另一个域名的资源时&#xff0c;域名、端口、协议任一不同&#xff0c;都是跨域。跨域是前端校招的一个重要考点&#xff0c;在面试过程中经常遇到&#xff0c;需要着重掌握。本期分享的前端算法考点之…

(vue)Vue项目中使用jsPDF和html2canvas生成PDF

(vue)Vue项目中使用jsPDF和html2canvas生成PDF 效果&#xff1a; 安装与使用 1.&#xff1a;安装jsPDF和html2canvas npm install jspdf html2canvas2.在需要生成PDF文档的组件中引入jsPDF和html2canvas <template><div><el-button type"primary"…

Ajax + Promise复习简单小结simple

axios使用 先看看老朋友 axios axios是基于Ajaxpromise封装的 看一下他的简单使用 安装&#xff1a;npm install axios --save 引入&#xff1a;import axios from axios GitHub地址 基本使用 axios({url: http://hmajax.itheima.net/api/province}).then(function (result…

百度自研高性能ANN检索引擎,开源了

作者 | Puck项目组 导读 Puck是百度自研的开源ANN检索引擎。Puck开源项目包含两种百度自研的检索算法&#xff0c;以高召回、高准确、高吞吐为目标&#xff0c;适用于多种数据规模和场景。随着业务发展不断的优化和迭代&#xff0c;进行充分的技术开发和测试&#xff0c;确保了…

GEE/PIE遥感大数据处理与典型案例丨数据整合Reduce、云端数据可视化、数据导入导出及资产管理、机器学习算法等

随着航空、航天、近地空间等多个遥感平台的不断发展&#xff0c;近年来遥感技术突飞猛进。由此&#xff0c;遥感数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量也大幅增长&#xff0c;使其越来越具有大数据特征。对于相关研究而言&#xff0c;遥感大数据的出现为其提…

文章预览 安防监控/视频存储/视频汇聚平台EasyCVR播放优化小tips

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成&#xff0c;…