Pagini recente » Istoria paginii utilizator/matei_ionita | Istoria paginii runda/prob2 | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1761343)
#include <bits/stdc++.h>
using namespace std;
const int NMax = 5005;
ifstream fin("abc2.in");
ofstream fout("abc2.out");
int main(){
ios::sync_with_stdio(false);
fin.tie(NULL);
string s, a;
fin >> s >> a;
int n = s.size();
int m = a.size();
if(n < m){
cout << 0;
return 0;
}
string aux;
unordered_map < string, int > uMapA;
for(int i = 0; i <= n - m; i++){
aux = s.substr(i, m);
uMapA[aux]++;
}
unordered_map < string, bool > uMapB;
int ans = 0;
ans += uMapA[a];
uMapB[a] = true;
while(fin >> a){
if(uMapB[a] == false){
ans += uMapA[a];
}
uMapB[a] = true;
}
fout << ans;
return 0;
}