codeforces195c
link:http://codeforces.com/problemset/problem/336/C
从大到小枚举,如果对应的二进制位不等于0,就加进来,最后的sum如果%2^k==0那么就是合法的。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cctype>
#include <algorithm>
#include <queue>
#include <deque>
#include <queue>
#include <list>
#include <map>
#include <set>
#include <vector>
#include <utility>
#include <functional>
#include <fstream>
#include <iomanip>
#include <sstream>
#include <numeric>
#include <cassert>
#include <ctime>
#include <iterator>
const int INF = 0x3f3f3f3f;
const int dir[][] = {{-,},{,},{,-},{,},{-,-},{-,},{,-},{,}};
using namespace std;
int a[];
int main(void)
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif // ONLINE_JUDGE
int n;
while (~scanf("%d", &n))
{
for (int i=;i<n;++i) scanf("%d",a+i);
for (int i=;i>=;--i)
{
int sad=<<i, sum=-, cnt=;
for (int j=;j<n;++j)
{
if((sad&a[j])!=)
{
if(sum==-) sum=a[j];
else sum = sum & a[j];
cnt++;
}
}
int tmp=;
if (sum%sad==)
{
printf("%d\n",cnt);
for (int j=;j<n;++j)
{
if((sad&a[j])!=)
{
tmp++;
if(tmp!=cnt)
printf("%d ",a[j]);
else printf("%d\n",a[j]);
}
}
break;
}
}
} return ;
}
很神奇的做法。
开始被这道题目吓到了。o(╯□╰)o
codeforces195c的更多相关文章
随机推荐
- 【Android】解析Json数据
Json数据:"{\"UserID\":\"Allen\",\"Dep\":IT,\"QQ\":\" ...
- XAF How to: 实现一个WCF Application Server 并配置它的客户端应用
本主题描述了如何实现一个 WCF 中间层应用程序服务器及如何配置 XAF客户端连接到此服务器. 注意 本主题演示可以由解决方案向导自动生成的代码.执行操作时,如果你想要在现有的 XAF 解决方案中实现 ...
- SSH2 框架下的分页
1.设计分页实体(pageBean) 这里我显示的是3-12页的方式: package cn.itcast.oa.domain; import java.util.List; /** * 封装分页信息 ...
- js 扩展Array支持remove方法
/* * 方法:Array.remove(dx) 通过遍历,重构数组 * 功能:删除数组元素. * 参数:dx删除元素的下标. */ Array.prototype.remove = function ...
- uva 1660 & poj 1966(点连通度)
Cable TV Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4267 Accepted: 2003 ...
- shell变量赋值 不能有空格的原因
典型例子: a=date echo $a 成立 a =date echo $a 不成立 其实原因很简单 shell在解释命令时的原则是第一个符号标记只能是程序或者命令,有空格的时候第 ...
- F2工作流引擎之 概述(一)
简介 工作流应该算是基础框架软件,主要用于流程的重组和优化,它有广阔的应用领域.在java下有很多优秀的开源工作流可以选择比如activit5.jpbm4等,在.net下却几乎找不到令人满意的工作流引 ...
- js对汉字首字母排序
var city = ["北京","天津","上海","重庆","杭州"];city.sort(fu ...
- javascript的坑
1 for in循环:使用它时,要主要遍历的是所有可枚举的属性(实例以及原型中的属性) function Person(name){ this.name = name; } Person.protot ...
- linux shell 指令 诸如-d, -f, -e之类的判断表达式
文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...