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

OpenClaw对接飞书机器人高频踩坑实战指南:从插件安装到回调配对全解析

前言 当前企业办公场景中,将轻量级AI框架OpenClaw与飞书机器人结合,能够快速实现智能交互、流程自动化等功能。然而,在实际对接过程中,开发者常常因权限配置、环境依赖、回调设置等细节问题陷入反复试错。本文以“问题解决”为核心,梳理了10个典型踩坑点,每个问题均配套原因分析、排查步骤和实操案例。同时,补充高效调试技巧与功能扩展建议,帮助开发者系统性地定位并解决对接障碍,提升落地效率。所有案例基于Windows 11环境、OpenClaw最新稳定版及飞书开放平台最新界面验证,解决方案可直接复用。 一、前置准备(快速自查) 为避免基础环境问题浪费时间,建议在开始前确认以下三点: * OpenClaw已正确安装,终端执行 openclaw -v 可查看版本(建议使用最新版,旧版本可能存在插件兼容风险)。 * Node.js版本不低于v14,npm版本不低于v6,通过 node -v 和 npm -v 验证,防止因依赖版本过低导致插件安装失败。 * 飞书账号需具备企业开发者权限(企业账号需管理员授权,个人账号默认具备)

AI小说生成器终极指南:从零打造你的智能写作助手

AI小说生成器终极指南:从零打造你的智能写作助手 【免费下载链接】AI_NovelGenerator使用ai生成多章节的长篇小说,自动衔接上下文、伏笔 项目地址: https://gitcode.com/GitHub_Trending/ai/AI_NovelGenerator 深夜,你坐在电脑前,面对空白的文档,脑海中构思已久的故事情节却难以流畅地转化为文字。角色对话生硬,剧情推进乏力,伏笔设置混乱——这是许多创作者面临的共同困境。现在,让我们一同探索如何利用AI_NovelGenerator这个强大的工具,彻底改变你的创作体验。 开篇引语:当AI遇见文学创作 想象一下,你只需要设定一个核心主题,AI就能自动为你生成完整的小说设定、章节目录,甚至每一章的详细内容。AI_NovelGenerator正是这样一个革命性的平台,它将人工智能技术与文学创作完美结合,为写作者提供前所未有的创作支持。 创作新纪元:AI_NovelGenerator不仅仅是工具,更是你的创作伙伴。它能理解上下文关系,自动衔接剧情,设置精妙伏笔,让长篇小说的创作变得轻松而富有乐趣。 核心功能详解:智能

从单卡到多卡:Llama Factory微调扩展指南

从单卡到多卡:Llama Factory微调扩展指南 如果你已经成功在单卡GPU上完成了小规模语言模型的微调,现在想要扩展到更大的模型却不知从何下手,这篇文章正是为你准备的。LLaMA-Factory作为一个高效的大语言模型微调框架,能帮助你从单卡环境平滑过渡到多卡分布式训练。本文将详细介绍如何利用LLaMA-Factory实现模型微调的横向扩展,包括环境配置、参数调整和显存优化等关键技巧。 为什么需要从单卡扩展到多卡 当模型规模超过单卡显存容量时,多卡并行训练就成为必然选择。根据实际测试数据: * 7B参数模型全参数微调需要约80GB显存 * 13B参数模型需要约160GB显存 * 70B参数模型可能需要超过600GB显存 这些需求远超单张消费级显卡的容量,此时就需要: 1. 数据并行:将训练数据分片到不同GPU 2. 模型并行:将模型参数拆分到不同GPU 3. 混合策略:结合上述两种方法 LLaMA-Factory多卡环境准备 LLaMA-Factory支持多种分布式训练策略,以下是基础环境配置步骤: 1. 确保所有GPU型号和驱动版本一致 2

5步快速搭建:OpenAI Whisper本地语音转文字终极指南

5步快速搭建:OpenAI Whisper本地语音转文字终极指南 【免费下载链接】whisper-base.en 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-base.en 还在为语音转文字需求而烦恼吗?想要在本地设备上实现专业级的语音识别功能吗?今天我们将完整揭秘如何通过OpenAI Whisper模型,在个人电脑上搭建稳定高效的语音转文字系统。无论你是技术开发者还是AI爱好者,这套方案都能让你在30分钟内完成部署!🚀 为什么选择本地部署Whisper? 传统语音识别服务往往受限于网络环境和隐私顾虑,而本地化部署的Whisper模型提供了完美的解决方案。它不仅支持60多种语言的实时转录,还能在完全离线的环境下运行,确保你的音频数据绝对安全。 核心优势对比: | 特性 | 云端服务 | Whisper本地部署 | |------|----------|-----------------| | 数据隐私 | 数据上传云端 | 完全本地处理 | | 网络依赖 | 必须联网 | 完全离线运行 | | 成本控制 |