题解 SP3934 【MRECAMAN - Recaman’s Sequence】
这题感觉没有省选-吧,我要去入门的都能AC。
我采取的是递归读入+map判断重复,具体代码如下:
#include <cstdio>//比cin快
#include <map>//map头文件
using namespace std;//标准命名空间
map <int, bool> mp;//创造map映射
int a[500005];//数组
void input()
{
int k;
scanf("%d", &k);
if(k == -1)//看样例,-1结束
{
return ;
}
else
{
printf("%d\n", a[k]);
input();//递归
}
}
int main()
{
//先预处理一遍
a[0] = 0;
for(int i = 1; i <= 500000; i++)
{
if(a[i - 1] - i > 0 && !mp[a[i - 1] - i])//按照题意
{
a[i] = a[i - 1] - i;
}
else
{
a[i] = a[i - 1] + i;
}
mp[a[i]] = true;//将a[i]变为true
}
input();//递归读入和输出答案
return 0;
}
求过
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现