Ps:“与”表示位运算 and,在 c++中表示为&。 【输入描述】
第一行为 n。接下来 n 行,一行一个整数表示 Ai。
【输出描述】
输出最大的 Ai“与”Aj 的结果。
【样例输入】
3
8
10
2
【样例输出】
8
【样例解释】
8 and 10 = 8
8 and 2 = 0
10 and 2 = 2
【数据范围】
20%的数据保证 n<=5000
100%的数据保证 n<=3*10^5,0<=Ai<=10^9
#include<cstdio> #include<iostream> #include<cstring> const int maxn=3*1e5+5; using namespace std; int a[maxn],set[maxn]; int n; int read(){ int x=0; char ch=getchar(); while (ch<'0' || ch>'9') ch=getchar(); while (ch>='0' && ch<='9'){ x=x*10+ch-'0'; ch=getchar(); } return x; } int main() { n=read(); for(int i=1;i<=n;i++) { a[i]=read(); } for(int i=31;i>=0;i--) { int cnt=0; for(int j=1;j<=n;j++) { if(a[j]&(1<<i)) { cnt++; set[cnt]=a[j]; } } if(cnt>=2) { for(int j=1;j<=cnt;j++) { a[j]=set[j]; n=cnt; } } } printf( return 0; }
Comments 2 条评论
博主 Vingying
上面这个人只会写辣鸡代码
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
inline void init()
{
freopen(“and.in”,”r”,stdin);
freopen(“and.out”,”w”,stdout);
}
template inline void READ(E &e)
{
e=0;bool ck=0;char ch=getchar();
while (ch’9′){if(ch==’-‘)ck=1;ch=getchar();}
while (ch>=’0’ && ch<='9'){e=e*10+ch-'0';ch=getchar();}
if (ck) e = -e;
}
int n;
int ans,maxb;
struct number{
int val;
bool b[51];
int no;
}a[300001],q[300001];
int num[55];
int num0[55];
int main()
{
// init();
scanf("%d",&n);
for (int i=1;i>=1;
}
maxb=max(maxb,x);
}
int k;
int cnt=0;
int cnt0=0;
bool flag2=false;
for (k=maxb;k>0;–k)
{
if (num[k]>1)
{
for (register int i=1;i0;–j)
{
if (a[i].b[j]) num0[j]++;
q[cnt].b[j]=a[i].b[j];
}
}
}
break;
}
}
if (!flag2)
{
printf(“0”);
return 0;
}
k–;
bool flag=false;
for (;k>0;–k)
{
if (num0[k]>1 && !flag)
{
flag=true;
memset(a,0,sizeof a);
memset(num,0,sizeof num);
for (int i=1;i0;–j)
{
if (q[i].b[j]) num[j]++;
a[cnt0].b[j]=q[i].b[j];
}
}
}
cnt=0;
}
else if (num[k]>1 && flag)
{
flag=false;
memset(q,0,sizeof q);
memset(num0,0,sizeof num0);
for (register int i=1;i0;–j)
{
if (a[i].b[j]) num0[j]++;
q[cnt].b[j]=a[i].b[j];
}
}
}
cnt0=0;
}
}
if (flag) printf(“%d”,(a[1].val&a[2].val));
else printf(“%d”,(q[1].val&q[2].val));
return 0;
}
博主 千年八雲紫
https://github.com/dreamhuan/stg-game