Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <map>
  3. #include <vector>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. const int INF =  1000000000;
  9.  
  10. map <string, vector<string> > d;
  11.  
  12. string s, s1, main_s;
  13.  
  14. bool check(string ss)
  15. {
  16.     for (int i = 0; i < ss.size(); i++)
  17.         if (ss[i] == ' ')
  18.             return true;
  19.     return false;
  20.  
  21. }
  22.  
  23. int main()
  24.  
  25.  
  26. {
  27.     int n;
  28.  
  29.     cin >> n;
  30.     getline(cin, s);
  31.  
  32.     unsigned long j = 0;
  33.     for (int i = 0; i < n; i++)
  34.     {
  35.         getline(cin, s);
  36.         unsigned long q = s.find(' ');
  37.  
  38.         main_s = s.substr(0, q);
  39.  
  40.         for (unsigned long f = 0; f < s.length(); f++)
  41.             if (f == s.length() - 1 || s[f + 1] == ' ')
  42.             {
  43.                 s1 = s.substr(j, f - j + 1);
  44.                 j = f + 2;
  45.                 d[main_s].push_back(s1);
  46.             }
  47.     }
  48.  
  49.     int m;
  50.  
  51.     cin >> m;
  52.     for (int i = 0; i < m; i++)
  53.     {
  54.         string ss;
  55.         cin >> ss;
  56.  
  57.         bool flag = false;
  58.  
  59.         for (map <string, vector<string> > :: iterator it = d.begin(); it != d.end(); it++)
  60.         {
  61.             for (int j = 0; j < it -> second.size(); j++)
  62.                 if (it -> second[j] == ss)
  63.                 {
  64.                     flag = true;
  65.                     cout << it -> first << endl;
  66.                     break;
  67.                 }
  68.             if (flag)
  69.                 break;
  70.         }
  71.     }
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement