比赛 二进制状态压缩 评测结果 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;
}