P2264 情书

P2264 情书

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<string>
 4 #include<cstring>
 5 using namespace std;
 6 
 7 string t[101];
 8 bool ex[101];
 9 string s;
10 int n;
11 
12 int main()
13 {
14     cin >> n;
15     for (int i = 1; i <= n; i++)
16     {
17         cin >> t[i];
18         transform(t[i].begin(), t[i].end(), t[i].begin(), ::tolower);
19     }
20     cin.ignore(0x7fffffff, '\n');
21     getline(cin, s);
22     transform(s.begin(), s.end(), s.begin(), ::tolower);
23     int len = s.length();
24     int sc = 0;
25     for (int i = 0; i < len; i++)
26     {
27         if (s[i] == '.')
28         {
29             sc += count(ex + 1, ex + n + 1, true);
30             memset(ex, false, sizeof(ex));
31         }
32         for (int j = 1; j <= n; j++)
33         {
34             if (t[j][0] == s[i])
35             {
36                 bool f = true;
37                 int lent = t[j].length();
38                 for (int k = 0; k < lent; k++)
39                 {
40                     if (s[k + i] != t[j][k])
41                     {
42                         f = false;
43                         break;
44                     }
45                 }
46                 if (s[i + lent] != ' ' && s[i + lent] != ',' && s[i + lent] != '.') f = false;
47                 if (f)
48                 {
49                     ex[j] = true;
50                     break;
51                 }
52             }
53         }
54     }
55     cout << sc;
56 }
View Code