2 条题解
-
0
#include<bits/stdc++.h> using namespace std;
int main() { int T;
cin>>T; int Q; string s; for(int i=1; i<=T; i++) { cin>>s; cin>>Q; string zi; for(int j=1; j<=Q; j++) { cin>>zi; int std[1024]={0}; //子串的标准 for(int k=0; k<zi.size(); k++) { std[(int)zi[k]]++; } int ans=0; //一个Q对应一个ans for(int k=0; k<s.size()-zi.size()+1; k++) { int jd[1024]={0}; string judge=s.substr(k,zi.size());
// cout<<"查找的子串是:"<<judge<<endl; // cout<<"子串的长度是:"<<zi.size()<<endl;
for(int h=0; h<zi.size(); h++) { jd[(int)judge[h]]++; } int flag=1; for(int h=0; h<zi.size(); h++) {
// cout<<zi[h]<<':'<<"std:"<<std[(int)zi[h]]<<" VS "<<"jd:"<<jd[(int)zi[h]]<<endl;
if(std[(int)zi[h]]!=jd[(int)zi[h]]) flag=0;
// cout<<"flag:"<<flag<<endl; }
if(flag==1) ans++; } cout<<ans<<endl; } } return 0;
}
感觉我写的太丑陋了 抛砖引玉一下吧
信息
- ID
- 196
- 时间
- 4000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 593
- 已通过
- 72
- 上传者