#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv) {
int n;
string f;
while(cin>>n>>f){
string s;
int find=0;
for(int i=1;i<=n;i++){
cin>>s;
for(int j=0;j<s.length();j++){
int sumf=0;
for(int k=0;k<f.length();k++){
if(j+k<s.length()){
if(s[j+k]==f[k])sumf++;
}
} find+=(sumf/f.length());
}
} cout<<find<<endl;
} return 0;
}
測資有問題還是我的寫法有問題??
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv) {
int n;
string f;
while(cin>>n>>f){
string s;
int find=0;
for(int i=1;i<=n;i++){
cin>>s;
for(int j=0;j<s.length();j++){
int sumf=0;
for(int k=0;k<f.length();k++){
if(j+k<s.length()){
if(s[j+k]==f[k])sumf++;
}
} find+=(sumf/f.length());
}
} cout<<find<<endl;
} return 0;
}
測資有問題還是我的寫法有問題??
我覺得是你題目理解有問題
主要只是在問那些N個字串
N個字串中有幾個字串有出現過s字串
4 abc
abcabcabc
sadqweabsc
qazwsxbc
abcsd
答案是2(只有第1,4行出現過abc,其它雖然有a有b有c,但不是出現abc)
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv) {
int n;
string f;
while(cin>>n>>f){
string s;
int find=0;
for(int i=1;i<=n;i++){
cin>>s;
for(int j=0;j<s.length();j++){
int sumf=0;
for(int k=0;k<f.length();k++){
if(j+k<s.length()){
if(s[j+k]==f[k])sumf++;
}
} find+=(sumf/f.length());
}
} cout<<find<<endl;
} return 0;
}
測資有問題還是我的寫法有問題??
我覺得是你題目理解有問題
主要只是在問那些N個字串
N個字串中有幾個字串有出現過s字串
4 abc
abcabcabc
sadqweabsc
qazwsxbc
abcsd
答案是2(只有第1,4行出現過abc,其它雖然有a有b有c,但不是出現abc)
感謝!已AC!