UESTC 491 Tricks in Bits
Time Limit: 1000MS | Memory Limit: 65535KB | 64bit IO Format: %lld & %llu |
Description
Given N unsigned
64-bit
integers, you can bitwise NOT
each or not. Then you need to add operations selected from bitwise XOR
, bitwise OR
and 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
2
3
1 2 3
2
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;
}
UESTC 491 Tricks in Bits的更多相关文章
- cdoj 491 Tricks in Bits
//无脑爆居然能过!!!!! 解:其实正解也是暴力,但是可以证明在n>6时答案一定为零. 第一步:对于任意两个数他们的二进制数要么有一半+的位是相同的,要么有一半+的位是不同的,于是首先使用与运 ...
- Advanced Configuration Tricks
Advanced Configuration Tricks Configuration of zend-mvc applications happens in several steps: Initi ...
- 2015 UESTC Winter Training #8【The 2011 Rocky Mountain Regional Contest】
2015 UESTC Winter Training #8 The 2011 Rocky Mountain Regional Contest Regionals 2011 >> North ...
- bfs UESTC 381 Knight and Rook
http://acm.uestc.edu.cn/#/problem/show/381 题目大意:给你两个棋子:车.马,再给你一个n*m的网格,从s出发到t,你可以选择车或者选择马开始走,图中有一些障碍 ...
- The 15th UESTC Programming Contest Preliminary G - GC?(X,Y) cdoj1564
地址:http://acm.uestc.edu.cn/#/problem/show/1564 题目: G - GC?(X,Y) Time Limit: 3000/1000MS (Java/Others ...
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- UESTC 1591 An easy problem A【线段树点更新裸题】
An easy problem A Time Limit: 2000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others ...
- UESTC 1584 Washi与Sonochi的约定【树状数组裸题+排序】
题目链接:UESTC 1584 Washi与Sonochi的约定 题意:在二维平面上,某个点的ranked被定义为x坐标不大于其x坐标,且y坐标不大于其y坐标的怪物的数量.(不含其自身),要求输出n行 ...
- UESTC 1599 wtmsb【优先队列+排序】
题目链接:UESTC 1599 wtmsb 题意:给你一组数,每一次取出两个最小的数,将这两个数的和放入这组数中,直到这组数只剩下一个,求最后剩下那个数的大小! 分析:比赛的时候首先我就看到这道题数据 ...
随机推荐
- pcap学习
#include <pcap.h> char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *pcap_open_live(const char *device, in ...
- SSH框架优势
SSH框架优势 1. 典型的三层构架体现MVC(模型Model,视图View和控制)思想,可以让开发人员减轻重新建立解决复杂问题方案的负担和精力.便于敏捷开发出新的需求,降低开发时间成本. 2. ...
- javascript 捕获异常方法
捕获异常的实例: var str="fasdfsadfsad$$异常信息$$你看不到我"; var arr=str.split("$$"); arr[1]; 通 ...
- JDK自带监控工具 jps、jinfo、jstat、jmap、jconsole
分类: JVM 2010-10-04 11:05 587人阅读 评论(0) 收藏 举报 工具jdkjava远程连接unixstring 常用有五个命令行工具: jinfo: 可以输出并修改运行时的ja ...
- XPage的使用示范例子
代码地址如下:http://www.demodashi.com/demo/12975.html XPage [[api][apisvg]][api] 一个非常方便的fragment页面框架 特点 支持 ...
- 网络方面的常用命令 & 常用端口介绍
在网络方面我们常常会用到如下命令: (1)ping命令:我们常常用来判断2台或2台以上的机器间是否网络连通. ping 192.168.1.88 -t 如果想看任何命令的参数是什么意思,我们只需要:命 ...
- HttpClient Coder Example
Example 1: HttpClient httpClient = new HttpClient(); httpClient.getHostConfigurati ...
- top未加order by,结果出错
1.查询第21-30条记录 select top 10 * from sys_Module where ID >(select max(ID) from (select top 20 * fro ...
- Python进程、线程、协程之间的关系
一.从操作系统角度 操作系统处理任务, 调度单位是 进程 和 线程 . 1.进程: 表示一个程序的执行活动 (打开程序.读写程序数据.关闭程序) 2.线程: 执行某个程序时, 该进程调度的最小执行单位 ...
- mvc5整合Autofac
本文中将使用 mvc5与webapi2进行对Autofac整合 准备工作: 1.vs2013 or vs2013+ 2.网络良好,nuget正常访问 好了需要的准备工作就这么多. ---------- ...