SYCOJ1793
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

浙公网安备 33010602011771号