- #include<stdio.h>
- #include<iostream>
- #include<algorithm>
- #include<string.h>
- #include<vector>
- #include<cmath>
- #include<string>
- #include<map>
- #include<queue>
- using namespace std;
- typedef long long ll;
- map<string,int> m;
- int main(){
- string s;
- char c;
- while(1){
- scanf("%c",&c);
- if(c=='\n'){// 判断第一次回车
- scanf("%c",&c);
- s.clear();
- }
- if(c=='\n'){// 判断第二次回车
- break;
- }
- s+=c;// 累加字符串
- m[s]++;// 统计以所有可能的前缀的总词数
- }
- string x;
- while(cin>>x){
- cout<<m[x]<<endl;// 直接输出即可
- }
- return 0;
- }
统计难题
来源: http://www.bubuko.com/infodetail-3265825.html