蓝桥杯 算法提高 种树

思路可以用回溯,我写了个90分的转载一下满分代码学习


转自

http://blog.csdn.net/qq_37614259/article/details/61926721


#include   
  
using namespace std;  
int m,n;  
int a[50]={0},v[50]={0};  
int fun(int x,int y)  
{  
    int sum=0;  
    int i,j;  
    i=-1,j=-1;  
    if(x>=n&&y>0)//不满足条件   
    {  
        return -1;  
    }  
    if(x0)  
    {  
        if(v[(x+1)%n]==0)//满足条件   
        {  
            v[x]=1;//赋值表示选中   
            i=fun(x+2,y-1);  
            v[x]=0;//回溯   
        }  
        j=fun(x+1,y);  
        if(i!=-1&&sum>n>>m;  
    for(int i=0;i>a[i];  
    }  
    if(m>n/2)  
    cout<<"Error!"<


你可能感兴趣的:(蓝桥杯,算法提高,回溯)