富豪凯匹配串
发布时间:2020-12-14 04:39:01 所属栏目:大数据 来源:网络整理
导读:bitset的用法:https://www.cnblogs.com/magisk/p/8809922.html https://blog.csdn.net/caipengbenren/article/details/90443961 例题汇总?https://blog.csdn.net/weixin_38686780/article/details/89377729 连接:富豪凯匹配串 题解:根据与运算的特点,只
bitset的用法:https://www.cnblogs.com/magisk/p/8809922.html https://blog.csdn.net/caipengbenren/article/details/90443961 例题汇总?https://blog.csdn.net/weixin_38686780/article/details/89377729 连接:富豪凯匹配串 题解:根据与运算的特点,只有为两个1时为1,否则为0。根据题意当‘_’遇到0/1时都是匹配成功的,我们不妨把‘‘_’设置为0,其余设置为1,然后让这个数组和输入的n个数组运算,得到的然后判断得到的串与输入的串是否相同。 AC代码: #include<bits/stdc++.h> using namespace std; const int N=1E3+7; bitset<N>arr[N],q,p; int main(){ int n,m; cin>>n>>m; char s[N]; for(int i=1;i<=n;i++) { scanf("%s",s); for(int j=0;j<m;j++){ if(s[j]==‘0‘) arr[i][j]=0; else arr[i][j]=1; } } int qq; cin>>qq; while(qq--){ string s; cin>>s; for(int i=0;i<m;i++){ if(s[i]==‘_‘) q[i]=p[i]=0; else { p[i]=1;//将p串除了"_"外,其余全都设置为1,然后让其余输入的做与运算,并判断和输入的q是否相同 if(s[i]==‘1‘) { q[i]=1; } else q[i]=0; } } int ans=0; for(int i=1;i<=n;i++){ if((p&arr[i])==q) ans++; } cout<<ans<<endl; } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何获取要在Tkx标签中使用的字符串的“宽度”
- Spring-配置bean的方法(工厂方法和Factorybean)【
- BloomFilter–大规模数据处理利器
- 【Scikit-Learn 中文文档】寻求帮助 - 关于科学数
- 2. 使用golang特性编写的程序结构
- dep - Solving failure: No versions/No more ve
- Delphi XE2(RAD Studio XE2/Delphi16)Beta 试用体
- BigData学习7_五大存储模型关系模型、键值存储、
- blast结果的m7格式转换为m8格式
- Delphi 中的 XMLDocument 类详解(10) - 判断节点
热点阅读