Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu

Submit Status

Description

Given N unsigned 64-bit
integers, you can bitwise NOT each or not. Then you need to add operations selected from bitwise XORbitwise ORand bitwise AND, between any two successive integers and calculate the result. Your job is to
make the result as small as possible.

Input

The first line of the input is T (no
more than 1000),
which stands for the number of test cases you need to solve.

Then T blocks
follow. The first line of each block contains a single number N (1≤N≤100)
indicating the number of unsigned 64-bit
integers. Then n integers
follow in the next line.

Output

For every test case, you should output Case #k: first, where k indicates
the case number and counts from 1.
Then output the answer.

Sample Input





1 2 3 



3 6

Sample Output

Case #1: 0

Case #2: 1

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <stdio.h>
#include <math.h> using namespace std;
typedef unsigned long long int LL;
int n;
LL ans;
LL MAX;
LL a[105];
LL min(LL a,LL b){return (a<b?a:b);}
void dfs(LL num,int cnt)
{
if(ans==0)
return;
if(num==0)
{
ans=0;
return;
}
if(cnt==n+1)
{
ans=min(ans,num);
return;
}
dfs(num|(~a[cnt]),cnt+1);
dfs(num&(~a[cnt]),cnt+1);
dfs(num^(~a[cnt]),cnt+1);
dfs(num|a[cnt],cnt+1);
dfs(num&a[cnt],cnt+1);
dfs(num^a[cnt],cnt+1);
}
int main()
{
int t;
scanf("%d",&t);
int cas=0;
while(t--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%llu",&a[i]);
MAX=1;
MAX<<=63;
ans=MAX;
dfs(a[1],2);
dfs(~a[1],2);
printf("Case #%d: %llu\n",++cas,ans);
}
return 0;
}

最新文章

  1. DoTween 应用设置
  2. Uploadify v3.2.1 参数说明
  3. android 蓝牙4.0多通道
  4. 转:Windows Socket五种I/O模型
  5. kubernetes集群部署
  6. C#对Excel打印时,PageSetup 对象详解
  7. Boyang Tex上海帛扬时装面料有限公司
  8. codec ruby和json格式输出
  9. File对象的常用方法
  10. Integer.valueOf()与Integer.parseInt()区别
  11. 【整理】QT .pro文件中的变量说明
  12. django聚合查询
  13. WCF中的ServiceHost初始化两种方式
  14. 个人博客作业Week 3 ——微软必应词典客户端
  15. PyQT5速成教程-4 Qt Designer实战[上]
  16. forever 用法
  17. confluence部署与破解
  18. ActiveReports 报表控件V12新特性 -- 新增JSON和CSV导出
  19. 基于 Laravel 的 文件管理
  20. 小刘的深度学习---CNN

热门文章

  1. 插件化注解处理API(Pluggable Annotation Processing API)
  2. 【BIEE】12_查看BIEE的物理SQL
  3. Spring集成Jersey开发(附demo)
  4. 解决安装Ubuntu之后找不到无线网卡驱动的问题
  5. python 列表,元组,字符串方法和属性
  6. atitit.taskService&#160;任务管理器的设计&#160;v1
  7. Atitit.&#160;.&#160;软件命名空间与类名命名单词的统计程序设计v2
  8. 解决js下跳转无referer的方法
  9. Android基础新手教程——4.4.1 ContentProvider初探
  10. 82. Remove Duplicates from Sorted List II【Medium】