CCF-CSP第38次认证第二题——机器人复健指南(满分题解)

题目背景

西西艾弗岛某山脉深处出土了一台远古机器人,具体年代已不可考。初步修缮后,研究人员尝试操控机器人进行些简单的移动。

题目描述

整个实验场地被划分为 n×n个方格,从 (1,1) 到 (n,n) 进行编号。机器人只能在这些方格间移动,不能走出场地范围。 如下图所示,假设机器人当前位于 (x,y),那么接下来可以向周围八个方向跳跃移动(如果目标方格在场地范围内):

若机器人只能跳动不超过 k 步,场地内有多少方格(包括起始位置)可以抵达?

输入格式

从标准输入读入数据。

输入的第一行包含空格分隔的两个正整数 n 和 k,分别表示场地大小和跳动步数。

输入的第二行包含空格分隔的两个正整数 x 和 y,表示机器人的起始位置(保证位于场地内)。

输出格式

输出到标准输出。

输出一个整数,表示 k 步内可以抵达的方格总数。

样例1输入

4 1 1 1 

样例1输出

3 

样例2输入

4 2 1 1 

样例2输出

8 

样例2解释

如下图所示,初始位置、第一步和第二步跳跃抵达的位置总计为 8。

子任务

80% 的测试数据满足:k≤3;

全部的测试数据满足:n、k 均大于 0 且不超过 100。

题解

可以使用BFS或DFS进行搜索。在DFS实现中,步数作为递归函数的参数传递;而在BFS实现中,步数需要作为队列元素的附加参数存储。

实现细节

dx 和 dy 数组分别表示移动方向,st 数组用于记录访问状态,全局变量 cnt 统计已访问节点的数量。需要特别处理边界判断,同时统计的节点数包括所有经过的位置,而不仅仅是终点。

代码

#include<bits/stdc++.h> using namespace std; const int N=110; int n,k,x,y; int a[N][N]; bool st[N][N]; int dx[8]={1,2,1,2,-1,-2,-1,-2},dy[8]={2,1,-2,-1,2,1,-2,-1}; int cnt; void dfs(int x,int y,int num){ st[x][y]=true; cnt++; if(num==k)return; for(int i=0;i<8;i++){ int a=x+dx[i],b=y+dy[i]; if(a<1||a>n||b<1||b>n)continue; if(!st[a][b]){ dfs(a,b,num+1); } } } int main(){ cin>>n>>k>>x>>y; dfs(x,y,0); cout<<cnt; } 

Read more

如何对xilinx FPGA进行bit文件加密

记录背景:最近在用Vivado评估国外一个公司所提供的ISE所建的工程时,由于我并没有安装ISE工程,因此将其提供的所有v文件导入到Vivado中,对其进行编译。添加完之后成功建立顶层文件,但奇怪的是,除了顶层文件的v文件可以正常打开编辑外,其它sub层的v文件都无法正常打开编辑,双击打开后显示的是乱码,继续查找它们与顶层文件有什么不同时,发现这些文件的属性之一——encrypted 都是“yes”状态。 这多少有点震惊我了,我之前只知道为了保护某文件的保密性时,一般都是生成网表(ncg?netlist?)文件以便提供他人使用,别人拿到的网表文件只是个空壳子,尽管调用就好,里面的代码对他来说就是个空壳子。 为了知道别人是怎么做到v文件加密的(感觉逼格挺高的),上网搜索一番,最后,最后,最后发现是需要Xilinx提供特定的工具才可以(而这一说法也得到了Xilinx的FAE的认证),而这个特定的工具一般只有Xilinx的高级客户才会拥有。好吧,继续挖掘的冲动突然就猝死了。 --------------------------------------------------------

OpenClaw之Memory配置成本地模式,Ubuntu+CUDA+cuDNN+llama.cpp

文章目录 * 背景:Memory不生效的问题 * OpenClaw的Memory配置 * Ubuntu24.04安装CUDA和cuDNN * 编译llama.cpp * 验证方案1: * 验证方案2:下载并运行Llama-2 7B模型 * 安装node-llama-cpp * 验证Memory * sqlite-vec unavailable * 踩过的坑 * 安装node-llama-cpp的一些提示 * 安装node-llama-cpp的前置条件 * Using `node-llama-cpp` With Vulkan 承接上文:Windows11基于WSL2首次运行Openclaw,并对接飞书应用,我已经在电脑上安装了OpenClaw,接下来解决Memory问题。走了很多弯路,下面主要讲我总结的正确的安装过程。 总结来说:针对Memory不生效的问题,又不想用OpenAI或Gemini,或者只想单纯的节省token,可以按照如下的方式,设置为local模式: * 修改openclaw.json配置 * 安装CUDA和cu

VR大空间项目内容规划与设计的市场经验总结(2023-2026)

VR大空间项目内容规划与设计的市场经验总结(2023-2026) 引言:从元年到爆发,VR大空间的三年演进 2023年,随着《消失的法老》在上海太古汇的惊艳亮相,中国VR大空间行业迎来了自己的“元年”。这部由HTC联合法国Emissive工作室、哈佛大学吉萨考古团队打造的沉浸式体验,以45分钟超长时长、800平方米自由移动空间、毫米级金字塔还原三大核心优势,在11个月运营期内吸引约11万人次参与,总票房突破3000万元。这一现象级作品不仅重新定义了VR体验的行业标准,更直接推动了上海文旅局将VR大空间纳入“智慧旅游创新示范工程”。 三年后的今天,VR大空间已从零星试点发展为遍地开花的成熟业态。据VR陀螺不完全统计,仅2025年上半年就有超100个VR大空间项目落地,叫得上名字的20家运营商门店总数突破1000家。国际数据公司(IDC)预测,2025年全球VR大空间解决方案市场规模将突破120亿美元,年复合增长率高达58%,其中中国市场规模占全球比重预计超40%。 然而,繁荣之下暗流涌动。行业在快速扩张的同时,也面临着内容同质化、复购率低、盈利模式单一等深层挑战。本文将从产品总

Qwen3-TTS-12Hz-1.7B-Base行业落地:国际展会AI导览机器人多语种语音交互系统

Qwen3-TTS-12Hz-1.7B-Base行业落地:国际展会AI导览机器人多语种语音交互系统 1. 为什么国际展会需要“会说话”的AI导览机器人? 你有没有在大型国际展会上遇到过这样的场景:一位外国观众站在展台前,指着产品反复比划却无法沟通;一群日本客户围着新品驻足良久,却因语言障碍错过关键参数说明;或者欧洲采购商想深入了解技术细节,现场工作人员却忙得顾不上一对一讲解。 传统解决方案要么靠人工翻译,成本高、覆盖有限;要么用预录语音,生硬呆板、无法响应提问。而真正能“听懂问题、即时作答、自然发声”的导览机器人,一直缺一个核心能力——稳定、快速、多语种、带人声个性的语音合成引擎。 Qwen3-TTS-12Hz-1.7B-Base 就是为这类真实场景打磨出来的语音底座。它不是实验室里的Demo模型,而是已在多个海外展会现场跑通全流程的工业级TTS方案:支持10国语言无缝切换、3秒完成声音克隆、端到端延迟压到97毫秒——这意味着观众刚问完“这个模块支持Modbus协议吗?”,机器人0.1秒内就开始用德语清晰作答,中间没有卡顿、没有机械停顿、没有“正在加载”的尴尬沉默。 这不是