博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构实验1.1
阅读量:3952 次
发布时间:2019-05-24

本文共 689 字,大约阅读时间需要 2 分钟。

数据结构实验1

1.现有一个有n个元素的序列a=[a1​,a2​,⋯,an​],定义这个序列的价值为emmm。空序列的价值为0.先给你一个长度为n的序列a,求a中所有子集价值的异或和,要求子集中元素的相对位置保持不变。

异或和: 位运算的一种。如果a、b两个值不相同,则异或结果为1;如果a、b两个值相同,异或结果为0。

输入输出格式

输入
第一行一个整数
n
接下来一行有n个非负整数表示
a1,a2,⋯ ,an
输出
一个整数表示所有子集的异或和
样例1
输入
2
1 2
输出
6
数据规模
1≤n≤20
1≤a≤10^5
提示
样例1中共有四个子集
[],[1],[2],[1,2],
他们的价值分别为0,1,2,5,其异或和
0⨁1⨁2⨁5=6
解释一下异或和:
首先第一个子集价值是0,0和其它3个子集价值异或后得1,加起来就是3,然后1和其它2个子集异或后结果也是1,加起来得2,最后2和5异或得1,故异或和0⨁1⨁2⨁5=6

#include
//n<=20using namespace std;int b[100];//定义一个数组,用来存储子集价值int value=0;bool list[20];template
int Subset(T *array,int m,int n)//n代表元素个数{
int j=0,sum=0; if(m>=0&&m
>n; for(int i=0;i
>a[i]; } cout<
<

转载地址:http://ufwzi.baihongyu.com/

你可能感兴趣的文章
linux中ldconfig的使用介绍
查看>>
ldap适合入门学习
查看>>
ldap学习参考博客
查看>>
linux学习之source命令与alias(别名)使用
查看>>
MYSQL常用查询
查看>>
安装Linux虚拟机绑定IP操作
查看>>
centos7离线安装 mysql
查看>>
mysql学习使用一(查询)
查看>>
Linux 学习之sed命令详解
查看>>
JAVA基础——常用IO使用
查看>>
spring框架pom.xml文件解析
查看>>
代码比较工具DiffMerge的下载和使用
查看>>
linux学习之vim全选,全部复制,全部删除
查看>>
linux 学习之awk命令
查看>>
linux学习之查找文件find,locate,whereis使用
查看>>
JS中$含义及用法
查看>>
web学习之ajax记录
查看>>
mysql存储过程 --游标的使用 取每行记录
查看>>
ranger通过web界面登录用户验证类UsernamePasswordAuthenticationFilter
查看>>
墨菲定律——职场
查看>>