1 #include<bits/stdc++.h>
2 using namespace std;
3 map<string,int> ans;
4 int main()
5 {
6 string st;
7 while(getline(cin,st))
8 {
9 if(st=="") break;
10 string a="";
11 for(int i=0;i<st.size();i++)
12 {
13 a+=st[i];
14 ans[a]++;
15 }
16 }
17 while(cin>>st)
18 {
19 cout<<ans[st]<<endl;
20 }
21 return 0;
22 }
关于前缀,首先想到了字典树,可以记录多少次,后来看了其他的代码,有这样的直接拆下来,一点一点的加上去,直接前缀的累加.另外string 可以直接push_back