蓝桥杯算法提高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;

}

相关推荐
Remember_9931 小时前
SpringCloud:Nacos注册中心
java·开发语言·后端·算法·spring·spring cloud·list
Trouvaille ~2 小时前
【动态规划篇】专题(一):斐波那契模型——从数学递推到算法思维
c++·算法·leetcode·青少年编程·面试·动态规划·入门
一碗姜汤2 小时前
【计算机图形学】Bresenham直线绘制算法
人工智能·算法
郝学胜-神的一滴2 小时前
FastAPI:Python 高性能 Web 框架的优雅之选
开发语言·前端·数据结构·python·算法·fastapi
样例过了就是过了2 小时前
LeetCode热题100 回文链表
数据结构·算法·leetcode·链表
汉克老师2 小时前
GESP2023年12月认证C++二级( 第二部分判断题(1-10))
c++·循环结构·分支结构·gesp二级·gesp2级
地平线开发者2 小时前
【地平线 征程 6 工具链进阶教程】算子优化方案集锦
算法·自动驾驶
多恩Stone2 小时前
【3D-AICG 系列-14】Trellis 2 的 Texturing Pipeline 保留单层薄壳,而 Textured GLB 会变成双层
人工智能·python·算法·3d·aigc
Solitary-walk2 小时前
前缀和思想
数据结构·c++·算法