首页 > 编程语言 >蓝桥杯-算法训练-和为T

蓝桥杯-算法训练-和为T

时间:2022-11-20 15:36:28浏览次数:56  
标签:blog relevant 训练 int 蓝桥 pc 算法 csdn 87544214

知识预备-二进制枚举详细讲解:

https://sugar.blog.csdn.net/article/details/81099340?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-81099340-blog-87544214.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-81099340-blog-87544214.pc_relevant_recovery_v2&utm_relevant_index=2

题目描述及相关代码

1.https://blog.csdn.net/qq_43568078/article/details/87544214
2.https://blog.csdn.net/murphypu/article/details/69053861?spm=1001.2014.3001.5501

参考代码如下:

#include<iostream>
using namespace std;
int a[100005];
int main()
{
	int n;
	scanf("%d",&n);      //n代表一共多少个元素 
	for(int i=0;i<n;i++) //循环输入n个元素 
	{
		scanf("%d",&a[i]);
	}
	int num=0,sum,T;//num 代表多少种解  sum为几个元素的和   T为题目给定的 
	scanf("%d",&T);
	for(int i=1;i<(1<<n);i++)//二进制枚举1-2的n+1次方的数
	{
		sum=0;
		for(int j=0;j<n;j++)//找出每位的选与不选 比如i=4 表示100  只有& 100 结果才为1  100=1<<2(j)  j=2表示选中的下标为2的数 
		{
			if(i&(1<<j))   //注意:这里是&也就是与运算,先转化为二进制数,然后按位进行与运算 
			{
				sum+=a[j];  //把选中的哪几位 分别找到对应的元素进行求和 
			}
		}
		if(sum == T)//如果成立输出
		{
			for(int j = 0;j < n;j++)
			{
				if(i & (1<<j)) //找哪个元素之和使得=T,并分别输出 
				{
					cout<<a[j]<<" ";
				}
			}
			num++;  //解数+1 
			cout<<endl;
		}
	}
	printf("%d\n",num);
	return 0;
}

标签:blog,relevant,训练,int,蓝桥,pc,算法,csdn,87544214
From: https://www.cnblogs.com/qinyueblog/p/16908581.html

相关文章

  • 实验四:神经网络算法实验
    实验四:神经网络算法实验班级:20大数据3班学号:201613341【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验......
  • 基于加权对立和贪婪搜索多模态工程问题的黑猩猩优化算法(Matlab代码实现)
    ......
  • [排序算法] 归并排序 (C++)
    归并排序解释归并排序MergeSort是典型的分治法的应用,其算法步骤完全遵循分治模式。分治法思想分治法思想:将原问题分解为几个规模较小但又保持原问题性质的子问题,......
  • 实验四:神经网络算法实验
    【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现了......
  • 贪心算法-构造哈夫曼数及生成哈夫曼编码,编程实现
    哈夫曼树1.概念:给定n个权值最为n个叶子的节点,构建成一颗二叉树。如果次树的带权路径长度最小,则称此二叉树为最优二叉树,也叫哈夫曼树。WLP:带权路径长度公式:Wk:第......
  • 实验四:神经网络算法实验
    实验四:神经网络算法实验【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W......
  • 实验四:神经网络算法实验
    【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现了......
  • Python算法(进阶)
    1.01背包问题有若干物品,每个物品有对应的重量weight和价值value,背包容纳重量为bag_weight,在背包允许的重量下,往背包内放物品,每个物品只能放一次,保证其价值最高w......
  • 神经网络算法实验
    【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现......
  • 实验四:神经网络算法
             ......