蓝桥杯算法提高VIP-种树

#include<iostream>

using namespace std;

int a[2200];//记录价值

int site[2200];//记录位置是否栽树

int n,m,maxx;

bool cont(int d){

return (site[d]==0&&site[(d-1+n)%n]==0&&site[(d+1)%n]==0);

}

void dfs(int x,int s,int sum){//x当前种树位置,s剩余种树数量,sum总价值

site[x]=1;

sum+=a[x];

if(s){

for(int i=x+2;i<n;i++){

if(cont(i)){

dfs(i,s-1,sum);

}

}

}else{

if(sum>maxx)maxx=sum;

}

site[x]=0;

}

int main(){

cin>>n>>m;

for(int i=0;i<n;i++){

cin>>a[i];

}

if((n/2)>=m){

for(int i=0;i<n;i++){

dfs(i,m-1,0);

}

cout<<maxx<<endl;

}else{

cout<<"Error!"<<endl;

}

return 0;

}

相关推荐
2401_892070981 天前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
yuzhuanhei1 天前
Visual Studio 配置C++opencv
c++·学习·visual studio
小O的算法实验室1 天前
2026年ASOC,基于深度强化学习的无人机三维复杂环境分层自适应导航规划方法,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
LIST 的相关知识
数据结构·list
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
不爱吃炸鸡柳1 天前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
M--Y1 天前
Redis常用数据类型
数据结构·数据库·redis
十五年专注C++开发1 天前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
STL 栈 队列
开发语言·c++
2401_892070981 天前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象