用vector超时,用map过
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
string str,str1;
map<string, int> map1;
while(getline(cin, str)&& str.length() !=0)
{
for(int i = 1; i != str.size()+1; i++)
{
str1 = str.substr(0, i); //把当作字典的单词从第一个字母依次增长的往后复制在map中
map1[str1]++;
}
}
while(cin >> str)
{
cout << map1[str] << endl;
}
}