(2023码蹄杯)省赛(初赛)第三场真题(原题)(题解+AC代码)
题目1:MC0227堆煤球
码题集OJ-堆煤球 (matiji.net)

思路:
1.i从l枚举到r,i是8的倍数就跳过,i不是8的倍数就用等差数列求和公式i(1+i)/2,最后累加到答案中即可
AC_Code:C++
#include<bits/stdc++.h> using namespace std;int main( )
{int l,r; cin>>l>>r;int ans=0;for(int i=l;i<=r;i++){if(i%8==0) continue; //注意这里是模8ans+=i*(1+i)/2; //等差数列求和公式}cout<<ans;return 0;
}
题目2:MC0228军团大战
码题集OJ-军团大战 (matiji.net)

思路:
1.找出字符数量最多,有多个输出字典序最小的那一个
2.开一个数组,统计每一个字母出现的次数
AC_Code:C++
#include<bits/stdc++.h> using namespace std;int main( )
{string s; cin>>s;vector<int>cnt(26); //统计每一个字符出现的次数int mx=0;for(char c:s){cnt[c-'A']++;mx=max(mx,cnt[c-'A']);}for(int i=0;i<26;i++) //找到字典序最小的一个if(cnt[i]==mx){cout<<(char)(i+'A');return 0;}return 0;
}
题目3:MC0229武力对决
码题集OJ-武力对决 (matiji.net)

思路:
1.获得的最大经验值,用最大值减最小值得到
2.求最大值最小值,可以一趟遍历求得,也可以直接排序
AC_Code:C++
#include<bits/stdc++.h> using namespace std;
int const N=1e5+7;int a[N];
int n;int main( )
{scanf("%d",&n);for(int i=0;i<n;i++) scanf("%d",a+i);sort(a,a+n);cout<<a[n-1]-a[0]<<endl;return 0;
}
题目4:MC0230小码哥教数学
码题集OJ-小码哥教数学 (matiji.net)
思路:
1.互质就是最大公约数为1,让两组学生左移,就是取出最高一位,把它放到个位
AC_Code:C++
#include<bits/stdc++.h> using namespace std;int gcd(int a,int b){return b==0?a:gcd(b,a%b);
}int main( )
{int a,b; cin>>a>>b;int temp=a,n=0;while(temp) temp/=10,n++;int base=pow(10,n-1); //10^(n-1)int ans=-1;for(int i=0;i<n;i++){if(gcd(a,b)==1){ans=i; break; //满足互质}a=a%base*10+a/base;b=b%base*10+b/base;}cout<<ans;return 0;}
题目5:MC0231圣诞树上的星星
码题集OJ-圣诞树上的星星 (matiji.net)

思路:
1.3的倍数输出|,不是3的倍数第几行输出几个星星
AC_Code:C++
#include<bits/stdc++.h> using namespace std;int main( )
{int n; cin>>n;for(int i=1;i<=n;i++){if(i%3==0) puts("|"); //3的倍数else{for(int j=0;j<i;j++) printf("*");puts("");}}return 0;
}
题目6:MC0232魔塔密码
码题集OJ-魔塔密码 (matiji.net)

思路:
1.密码是由每隔k-1个字符组成的,相当于由下标索引模k等于0的所有字符组成
AC_Code:C++
#include<bits/stdc++.h> using namespace std;int main( )
{int k; string s; cin>>k>>s;for(int i=0;i<s.size();i++){if(i%k==0) cout<<s[i];}return 0;
}
题目7:MC0233地狱尖兵
码题集OJ-地狱尖兵 (matiji.net)

input:
3
5 5
....P
##..E
K#...
##...
.....
5 5
P....
.....
..E..
.....
....K
5 5
P#..E
.#.#.
.#.#.
.#.#.
...#K
output:
No solution
12
No solution
思路:bfs
1.小马妹先和其他小队回合,在一起前往制高点,先求P,K最短距离,再求K,E最短距离
2.求最短距离,可以跑一遍bfs,注意求P,K最短距离时要将制高点看成墙,表示不能通行
AC_Code:C++
#include<bits/stdc++.h> using namespace std;
int const N=507;char s[N][N];
bool vis[N][N];
int n,m;
int dx[]={-1,1,0,0},dy[]={0,0,-1,1};
struct Node{int x,y,step;
};int bfs(int x1,int y1,int x2,int y2){queue<Node>q; q.push({x1,y1,0});memset(vis,0,sizeof vis);vis[x1][y1]=1;while(q.size()){Node temp=q.front(); q.pop();if(temp.x==x2&&temp.y==y2) return temp.step; //找到了终点for(int i=0;i<4;i++){int x=dx[i]+temp.x,y=dy[i]+temp.y;if(x<0||y<0||x>=n||y>=m) continue; //越界if(s[x][y]=='#'||vis[x][y]) continue; //是墙,或者被遍历过q.push({x,y,temp.step+1});vis[x][y]=1;}}return -1; //没有到终点
}void solve(){scanf("%d%d",&n,&m);int px,py,kx,ky,ex,ey;for(int i=0;i<n;i++) scanf("%s",s[i]);for(int i=0;i<n;i++)for(int j=0;j<m;j++){if(s[i][j]=='P') px=i,py=j;else if(s[i][j]=='K') kx=i,ky=j;else if(s[i][j]=='E') ex=i,ey=j;}//小马妹要和其他小队先会和,此时制高点也看成墙s[ex][ey]='#'; int t1=bfs(px,py,kx,ky);s[ex][ey]='E'; //复原int t2=bfs(kx,ky,ex,ey);if(t1==-1||t2==-1) puts("No solution");else cout<<t1+t2<<endl;
}int main( )
{int T; cin>>T;while(T--){solve();}return 0;
}
题目8:MC0234激光扫描游戏
码题集OJ-激光扫描游戏 (matiji.net)

思路:
1.按要求模拟,遇到炸炸弹,变化扫描范围
AC_Code:C++
#include<bits/stdc++.h> using namespace std;
int const N=1e3+7;int n;
vector<int>g[N]; //g[i]:存的是第i的的炸弹int main( )
{cin>>n;for(int i=0;i<n;i++){int x,y; cin>>x>>y;g[x].push_back(y);}int ans=0,r=499;for(int i=0;i<1000;i++){int cur_r=r;ans+=cur_r+1;//遇到炸弹,变化为:行-列for(int j:g[i]){if(cur_r>=j) r=r+(i-j);}//扫描位置最大为999,最小为0if(r<0) r=0;if(r>999) r=999;}cout<<ans;return 0;
}
题目9:MC0235数数游戏
码题集OJ-数数游戏 (matiji.net)

思路:
1.从1枚举到n,分别统计满足要求的情况
AC_Code:C++
#include<bits/stdc++.h> using namespace std;//能被3整除或包含数字3
bool check3(int n){if(n%3==0) return true;while(n){if(n%10==3) return true;n/=10;}return false;
}//能被5整除或包含数字5
bool check5(int n){if(n%5==0) return true;while(n){if(n%10==5) return true;n/=10;}return false;
}int main( )
{int n; cin>>n;int a=0,b=0,c=0;for(int i=1;i<=n;i++){if(check3(i)&&check5(i)) c++; //规则一二都满足else{if(check3(i)) a++; //满足规则一if(check5(i)) b++; //满足规则二}}printf("%d\n%d\n%d\n",a,b,c);return 0;
}
题目10:MC0236跳跳棋
码题集OJ-跳跳棋 (matiji.net)
input:
4
4
2 3 5 8
2 3 5 8
2 3 5 8
2 3 5 8
output:
8
思路:模拟
1.模拟跳到的格子,是质数答案++
AC_Code:C++
#include<bits/stdc++.h> using namespace std;
int const N=107;int a[N][N];
int n,m;//检查是否为质数
bool check(int n){for(int i=2;i<=n/i;i++)if(n%i==0) return false;return true;
}int main( )
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) scanf("%d",&a[i][j]);int ans=0;int i=1,j=1;while(i<=n){if(check(a[i][j])) ans++,j+=a[i][j]%10; //是质数答案++else j++; //不是质数向右跳一格if(j>m) i++,j=1;} cout<<ans;return 0;
}
题目11:MC0237小狗巴克
码题集OJ-小狗巴克 (matiji.net)

思路:
1.对原字符串去除'!',得到一个新的字符串,然后用新的字符串调用find函数,查找目标字符串
AC_Code:C++
#include<bits/stdc++.h> using namespace std;int main( )
{string s,t; cin>>s>>t;string new_s;for(int i=0;i<s.size();i++) {if(s[i]=='!') continue; //去除'!'new_s+=s[i];}int idx=new_s.find(t); //用新的字符串直接调用find函数if(idx!=-1) puts("True");else puts("False");return 0;
}
题目12:
占时更新
题目13:MC0239小码哥玩字母独
码题集OJ-小码哥玩字母独 (matiji.net)


思路:
1.开一个hash数组,将主对角线的字符,加入数组中,如果一个字符出现了两次,则输出refuse,并结束程序,如果到最后都没有出现相同的字符输出accept
AC_Code:C++
#include<bits/stdc++.h> using namespace std;
int const N=107;int n;
char str[N][N];
bool vis[26]; //hash数组int main( )
{scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%s",str[i]+1);for(int i=1;i<=n;i++){char c=str[i][i];if(vis[c-'a']){ puts("refuse"); //当前字符出现了2次了return 0;}vis[c-'a']=true;}puts("accept");return 0;
}
相关文章:
(2023码蹄杯)省赛(初赛)第三场真题(原题)(题解+AC代码)
题目1:MC0227堆煤球 码题集OJ-堆煤球 (matiji.net) 思路: 1.i从l枚举到r,i是8的倍数就跳过,i不是8的倍数就用等差数列求和公式i(1i)/2,最后累加到答案中即可 AC_Code:C #include<bits/stdc.h> using namespace std;int main( ) {in…...
第十二章 : Spring Boot 日志框架详解
第十二章 : Spring Boot 日志框架详解 前言 本章知识重点:介绍了日志诞生背景,4种日志框架:Logback、Log4j、Log4j2和Slf4j的优劣势分析,以及重点介绍了log4j2的应用示例以及配置,以及日志框架应用中遇到常见的问题以及如何处理。 背景 Java日志框架的发展历程可以追…...
STM32 -Bin/Hex文件格式解析
文章目录 1. 概述2. Hex文件2.1 格式解析2.2 数据类型2.3 举例解析2.4 合并两个Hex文件方法 3. Bin文件3.1 生成方式3.2 合并多个Bin文件方法3.3 打开Bin文件方式3.4 和Hex文件比较 4 总结 1. 概述 Hex文件:它是单片机和嵌入式工程编译输出的一种常见的目标文件格式…...
【Java 进阶篇】Redis:打开缓存之门
介绍 Redis(Remote Dictionary Server)是一个高性能的键值对存储系统,被广泛用作缓存、消息中间件和数据库。它以其快速的读写能力、支持多种数据结构和丰富的功能而闻名。在这篇博客中,我们将深入了解Redis的概念、安装以及基本…...
Python与设计模式--享元模式
10-Python与设计模式–享元模式 一、网上咖啡选购平台 假设有一个网上咖啡选购平台,客户可以在该平台上下订单订购咖啡,平台会根据用户位置进行 线下配送。假设其咖啡对象构造如下: class Coffee:name price 0def __init__(self,name):se…...
亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(二)
向量数据库选择哪种近似搜索算法,选择合适的集群规模以及集群设置调优对于知识库的读写性能也十分关键,主要需要考虑以下几个方面: 向量数据库算法选择 在 OpenSearch 里,提供了两种 k-NN 的算法:HNSW (Hierarchical…...
怎么当代课老师教学生
老师朋友们,有没有帮忙当过代课老师呢?或者,没当过的老师是不是对这种职业充满了好奇?让我来分享一下,当代课老师的日常是什么样的吧! 备课 说起备课,那可是个大工程!不过ÿ…...
『 MySQL数据库 』表的增删查改(CRUD)之表的数据插入及基本查询
文章目录 📂 Create(创建/新增)📌全列插入与指定列插入📌📌单行数据插入与多行数据插入📌📌插入数据否则更新📌📌数据的替换📌 📂 Retrieve(查询)Ὄ…...
Vue中mvvm的作用
目录 模型表示应用程序的数据。在Vue.js中,它们是JavaScript对象。视图是用户界面。在Vue.js中,使用模板语法编写HTML的表示层。ViewModel是视图的抽象表示,负责处理用户输入的数据,并处理视图的数据绑定。ViewModel使用模型中的…...
基于springboot实现高校食堂移动预约点餐系统【项目源码】
基于springboot实现高校食堂移动预约点餐系统演示 Java语言简介 Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备…...
用element ui上传带参数的文件,并用flask接收
需求 网页需要实现上传一个csv文件,并携带两个表单的参数给后端 方法 上传组件 <el-uploadclass"upload-demo"dragaction"/upload" <!--要上传到的路由地址,跟flask路由函数对应-->accept".csv" <!--只接…...
[Android]使用Git将项目提交到GitHub
如果你的Mac还没有安装Git,你可以通过Homebrew来安装它: brew install git 方式一:终端管理 1.创建本地Git仓库 在项目的根目录下,打开终端(Terminal)并执行以下命令来初始化一个新的Git仓库࿱…...
python cv2.imread()和Image.open()的区别和联系
文章目录 1. cv2.imread()1.1 cv2.imread参数说明1.2 注意事项 2. Image.open()3. cv2.imread()与Image.open()相互转化3.1 cv2.imread()转成Image.open():Image.fromarray()3.2 Image.open()转成cv2.imread():np.array() 1. cv2.imread() cv2.imread()…...
hdlbits系列verilog解答(exams/m2014_q4i)-45
文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 实现以下电路: 二、verilog源码 module top_module (output out);assign out 1b0;endmodule三、仿真结果 转载请注明出处!...
flink源码分析之功能组件(二)-kubeclient
简介 本系列是flink源码分析的第二个系列,上一个《flink源码分析之集群与资源》分析集群与资源,本系列分析功能组件,kubeclient,rpc,心跳,高可用,slotpool,rest,metrics,future。其中kubeclient上一个系列介绍过,为了系列完整性,这里“copy”一下。 kubeclient组件…...
无需API开发,有赞小程序集成广告推广系统,提升品牌曝光
无需API开发,实现有赞小程序与其他系统的连接 有赞小程序作为一个多功能的电子商务解决方案,为商家提供了无需复杂API开发就可以实现系统连接和集成的便捷途径。通过有赞小程序,商家可以轻松实现与各种系统的数据同步和应用互联,…...
CMD - ping
文章目录 前言参数 前言 ping 命令主要测试到达指定 IP 或主机的连通性. 参数 -t: ping 指定的计算机直到中断 -a: 将地址解析为主机名 -n count: 要发送的回显请求数...
数据结构与算法编程题23
设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树) #define _CRT_SECURE_NO_WARNINGS#inclu…...
小程序中的大道理之二--抽象与封装
继续扒 接着 上一篇 的叙述, 健壮性也有了, 现在是时候处理点实际的东西了, 但我们依然不会一步到底, 让我们来看看. 一而再地抽象(Abstraction Again) 让我们继续无视那些空格以及星号等细节, 我们看到什么呢? 我们只看到一整行的内容, 当传入 3 时就有 3 行, 传入 4 时就…...
基于卷积神经网络CNN开发构建HAR人类行为识别Human Activity Recognition【完整代码实践】
行为识别相关的开发实践在我们之前的博文中也有过相关的实践了,感兴趣的话可以自行移步阅读即可:《python实现基于TNDADATASET的人体行为识别》 《UCI行为识别——Activity recognition with healthy older people using a batteryless wearable sensor Data Set》《人体行为…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...





















