0
点赞
收藏
分享

微信扫一扫

蓝桥杯 - 和为T


题目链接:​​点击打开链接​​

题目大意:略。

解题思路:二叉树LDR遍历思想。

AC 代码

#include<bits/stdc++.h>
#include<cmath>

#define mem(a,b) memset(a,b,sizeof a);

using namespace std;

typedef long long ll;
const int maxn = 30;
int a[maxn],b[maxn];
int n,t,len,rs;

void dfs(int cnt,int sum)
{
// for(int i=len-1;i>=0;i--)
// {
// printf("%d ",b[i]);
// }
// puts("");

if(cnt==0)
{
if(len!=0 && sum==t)
{
for(int i=len-1;i>=0;i--)
{
printf("%d ",b[i]);
}
puts("");
rs++;
}
return;
}
dfs(cnt-1,sum); // 二叉树LDR遍历思想
b[len++]=a[cnt-1];
dfs(cnt-1,sum+a[cnt-1]);
len--;
}

int main()
{
while(~scanf("%d",&n)) // TLE --> 去掉while
{
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&t);

rs=len=0;
dfs(n,0);
printf("%d\n",rs);
}

return 0;
}


举报

相关推荐

蓝桥杯 | 平方和

蓝桥杯,,,,,,

【蓝桥杯】

蓝桥杯复习之前缀和

蓝桥杯2017_B t3承压计算

蓝桥杯2017_B t3方格分割

蓝桥杯 特别数的和(JAVA)

0 条评论