2024年蓝桥杯省赛C++大学A组试题整理
2024年蓝桥杯省赛A整理1.五子棋对弈五子棋博弈本题题目中所描述的所求是不同的棋局情况,但是事实上要求的其实是棋面情况(即最后棋盘下满后的情况,并不会对固定棋盘下满情况下具体下棋的先后手进行要求)对于本道题目我们直接考虑枚举,最后棋盘上是会存在13个白子和12个黑子。当我们将黑子的位置确定后,白子的位置也就随即确定。因此我们只需要枚举12个黑子的位置情况。我们采用先枚举12个黑子在棋盘的25个格子中任意放置的所有情况,之后在检查没中情况是否符合平局的要求。那么我们就需要设计一个用以枚举所有可能情况的函数(dfs),以及一个可以判断是否满足平局条件的函数(check)。check函数的构造是容易的,我们下面考虑函数dfs的构造。我们设dfs(int i,int x)其中i表示当前枚举到了第i个黑子,x表示当前黑子所在第x个格子中,我们对x计算x/5和x%5便可以得到x对应的横纵坐标。在我们已经确定第i个黑子落于位置x处后,若i==12,则我们已经枚举完所有的黑子,可以进行check()若i!=12,则我们第i+1个黑子可能落在所有x+1,…24中的任意一个格子中.我们在此处需要用循环进行枚举。在最后完成枚举之后,用于回溯,我们需要再将棋盘中的黑子变为白子。AC代码(第一次提交)#includeiostream#includecstdio#includealgorithmusingnamespacestd;intans=0;intg[10][10];boolcheck(){if(g[0][0]==g[1][1]g[0][0]==g[2][2]g[0][0]==g[3][3]g[0][0]==g[4][4])returnfalse;if(g[0][4]==g[1][3]g[0][4]==g[2][2]g[0][4]==g[3][1]g[0][4]==g[4][0])returnfalse;for(inti=0;i5;i++){intsum=0;for(intj=0;j5;j++){sum+=g[i][j];}if(sum%5==0)returnfalse;}for(intj=0;j5;j++){intsum=0;for(inti=0;i5;i++){sum+=g[i][j];}if(sum%5==0)returnfalse;}returntrue;}voidprint(){for(inti=0;i=4;i++){for(intj=0;j=4;j++)coutg[i][j]' ';coutendl;}coutendl;}voiddfs(inti,intx){g[x/5][x%5]=1;if(i==12){if(check()){ans++;}else{g[x/5][x%5]=0;return;}}for(intj=x+1;j=24;j++){dfs(i+1,j);}g[x/5][x%5]=0;}intmain(){for(inti=0;i24;i++){dfs(1,i);}coutans;return0;}(复写代码,发现斜着的连线也可以使用取模判断的方法来简化写法,即便是void类型的函数,也可以在结束时就写好return,这样可以避免因为某些分支忘记回溯导致出错)#includeiostream#includecstdio#includealgorithmusingnamespacestd;intg[28][28];longlongans=0;boolcheck(){for(inti=0;i5;i++){intsum=0;for(intj=0;j5;j++){sum+=g[i][j];}if(sum%5==0)returnfalse;}for(inti=0;i5;i++){intsum=0;for(intj=0;j5;j++){sum+=g[j][i];}if(sum%5==0)returnfalse;}intsum=g[0][0]+g[1][1]+g[2][2]+g[3][3]+g[4][4];if(sum%5==0)returnfalse;sum=g[4][0]+g[3][1]+g[2][2]+g[1][3]+g[0][4];if(sum%5==0)returnfalse;returntrue;}voiddfs(inti,intx){g[x/5][x%5]=1;if(i==12){if(check()){ans++;g[x/5][x%5]=0;return;}}for(intj=x+1;j=24;j++){dfs(i+1,j);}g[x/5][x%5

相关新闻

MinerU开源大模型部署方案:国产化信创环境(麒麟OS+海光CPU)适配

MinerU开源大模型部署方案:国产化信创环境(麒麟OS+海光CPU)适配

MinerU开源大模型部署方案:国产化信创环境(麒麟OS海光CPU)适配 1. 项目背景与挑战 最近在信创项目里,我们遇到了一个挺头疼的问题:客户需要在国产化的麒麟操作系统和海光CPU服务器上,部署一个能看懂文档图…

2026/7/5 17:02:08 阅读更多 →
DeepSeek与CAM++对比评测:跨模态AI模型性能实战分析

DeepSeek与CAM++对比评测:跨模态AI模型性能实战分析

DeepSeek与CAM对比评测:跨模态AI模型性能实战分析 1. 引言:当文本大模型遇上声纹识别 最近在AI圈里,有两个模型引起了我的注意。一个是大家熟悉的DeepSeek,那个能写代码、能聊天的文本大模型;另一个是CAM&#xff0c…

2026/5/17 11:29:23 阅读更多 →
VideoAgentTrek-ScreenFilter多场景:会议纪要生成前的屏幕内容自动截取与分类

VideoAgentTrek-ScreenFilter多场景:会议纪要生成前的屏幕内容自动截取与分类

VideoAgentTrek-ScreenFilter多场景:会议纪要生成前的屏幕内容自动截取与分类 你是不是也遇到过这样的场景?开完一个重要的线上会议,需要整理会议纪要,但发现关键信息都散落在共享的屏幕、PPT或者文档里。手动截图、分类、整理&a…

2026/5/17 11:29:22 阅读更多 →

最新新闻

Subliminal进阶:模拟复杂用户交互和系统对话框的完整指南

Subliminal进阶:模拟复杂用户交互和系统对话框的完整指南

Subliminal进阶:模拟复杂用户交互和系统对话框的完整指南 【免费下载链接】Subliminal An understated approach to iOS integration testing. 项目地址: https://gitcode.com/gh_mirrors/subl/Subliminal Subliminal是一个强大的iOS集成测试框架&#xff0c…

2026/7/5 17:05:07 阅读更多 →
Android分布式架构深度解析:基于空间架构模式的终极实践指南

Android分布式架构深度解析:基于空间架构模式的终极实践指南

Android分布式架构深度解析:基于空间架构模式的终极实践指南 【免费下载链接】android-tech-frontier 【停止维护】一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目 项目地址: https://gitcode.com/gh_mirrors/an/android-tech-f…

2026/7/5 17:05:07 阅读更多 →
一套方案跑通三大平台:YOLO全场景部署实战指南,附一键环境配置脚本

一套方案跑通三大平台:YOLO全场景部署实战指南,附一键环境配置脚本

做工业视觉落地的同行应该都有同感:训模型只是第一步,部署才是磨死人的开始。同一份YOLO权重,既要跑Windows产线上位机,又要部署Linux后台服务器,还要塞进Jetson边缘盒子,每个平台环境依赖不一样、推理引擎…

2026/7/5 17:03:07 阅读更多 →
MarkItDown:如何用Python统一处理数十种文档格式

MarkItDown:如何用Python统一处理数十种文档格式

MarkItDown:如何用Python统一处理数十种文档格式 【免费下载链接】markitdown Python tool for converting files and office documents to Markdown. 项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown 想象一下这样的场景:你的桌面…

2026/7/5 17:03:07 阅读更多 →
NVC多平台部署指南:Linux、macOS和Windows下的安装与配置

NVC多平台部署指南:Linux、macOS和Windows下的安装与配置

NVC多平台部署指南:Linux、macOS和Windows下的安装与配置 【免费下载链接】nvc VHDL compiler and simulator 项目地址: https://gitcode.com/gh_mirrors/nv/nvc NVC是一款开源的VHDL编译器和模拟器,支持VHDL-2008标准并具有出色的模拟性能。本指…

2026/7/5 17:03:07 阅读更多 →
3步掌握MinerU:构建智能文档解析系统的实战指南

3步掌握MinerU:构建智能文档解析系统的实战指南

3步掌握MinerU:构建智能文档解析系统的实战指南 【免费下载链接】MinerU Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows. 项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU Mi…

2026/7/5 17:03:07 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻