牛客练习赛53 C题bitset

题目链接https://ac.nowcoder.com/acm/contest/1114/C

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
const int p=1e9+7;
const int N=1010;
bitset<N>a[N],t,q;//t是模式串,q是目标串 
char s[N];
int main()
{
    int n,m,T;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        scanf("%s",s);
        for(int j=0;j<m;j++)
        {
            a[i][j]=(s[j]=='1');
         } 
    }
    cin>>T;
    while(T--)
    {
        scanf("%s",s);
        for(int i=0;i<m;i++)
        {
            if(s[i]=='_')
            {
                t[i]=0;
                q[i]=0;
            }
            else
            {
                q[i]=(s[i]=='1');
                t[i]=1;
            }
        }
        int ans=0;
        for(int i=1;i<=n;i++)
        {
            if((a[i]&t)==q)
                ans++;
        }
        cout<<ans<<"\n";
    }
    return 0;
}

 

上一篇:Java BitSet,可轻松串联BitSet


下一篇:题解 CF1097F 【Alex and a TV Show】