有没有人能解释一下啊,那么多题解为啥没人解释这个地方啊
查看原帖
有没有人能解释一下啊,那么多题解为啥没人解释这个地方啊
488281
killer_queen4804楼主2022/1/23 13:28
#include<stdio.h>
int main()
{
    int bool1=0x7fffffff,bool0=0;
    int N,M,t,i,ans=0;
    char ls[4];
    scanf("%d %d",&N,&M);
    while(N--)
    {
        scanf("%s%d",ls,&t);
        if(*ls=='A')
        {
            bool1&=t;
            bool0&=t;
        }
        else if(*ls=='O')
        {
            bool1|=t;
            bool0|=t;
        }
        else
        {
            bool1^=t;
            bool0^=t;
        }
    }
    for(i=30;i>=0;i--)
    {
        if(bool0&(1<<i))
        {
            ans+=1<<i;
        }
        else if(M>=(1<<i)&&(bool1&(1<<i)))
        {//这一句话到底啥意思啊?????
            M-=1<<i;
            ans+=1<<i;
        }
    }
    printf("%d",ans);
}

@cuking 这个人的代码 else if(M>=(1<<i)&&(bool1&(1<<i))) { M-=1<<i; ans+=1<<i; } 这一句话到底啥意思啊????? 为什么M>=(1<<i)?为什么M-=1<<i;? 为什么?为什么?为什么??????????????????

2022/1/23 13:28
加载中...