比赛 |
二进制状态压缩 |
评测结果 |
AAAAAAAAAA |
题目名称 |
起床困难综合症 |
最终得分 |
100 |
用户昵称 |
小金 |
运行时间 |
0.330 s |
代码语言 |
C++ |
内存使用 |
4.01 MiB |
提交时间 |
2023-07-27 17:32:57 |
显示代码纯文本
#include<iostream>
using namespace std;
long long n,m,t,c0=0,c1=0x7fffffff,ans=0;
string op;
void ch(char a,long long c)
{
if(a=='A')
{
c0=c0&c;
c1=c1&c;
return;
}
if(a=='O')
{
c0=c0|c;
c1=c1|c;
return;
}
if(a=='X')
{
c0=c0^c;
c1=c1^c;
return;
}
}
int main()
{
freopen("sleep.in","r",stdin);
freopen("sleep.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>op>>t;
ch(op[0],t);
}
for(int i=29;i>=0;i--)
{
if(c0&(1<<i))
{
ans+=1<<i;
}
else
{
if(c1&(1<<i)&&1<<i<m)
{
ans+=1<<i;
m-=1<<i;
}
}
}
cout<<ans;
return 0;
}