Advertisement
Guest User

Untitled

a guest
May 20th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. # include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. vector<pair<int, int> >  v[200];
  5. queue<char> q;
  6. int us[200], kol [200];
  7. string s[110];
  8.  
  9. int main()
  10. {
  11. //  freopen("epsilon.in", "r", stdin);
  12. //  freopen("epsilon.out", "w", stdout);
  13.     int n, m;
  14.     char c;
  15.     cin>> n>> c;
  16.     getline(cin, s[0]);
  17.     cout << "asas"<<' '<<s[0]<<'\n';
  18.     for(int i = 1; i <= n; i ++){
  19.         getline(cin, s[i]);
  20.         if(s[i][s[i].size() - 1] == '>'){
  21.             us[s[i][0]] = 1;
  22.             q.push(s[i][0]);
  23.         }
  24.         for(int j = 5; j < s[i].size(); j ++){
  25.             if(s[i][j] >= 'A' && s[i][j] <= 'Z'){
  26.                 //cout<< s[i][0]<<' '<<s[i][j]<<'\n';
  27.                 v[s[i][j]].push_back(make_pair(i, j));
  28.             }
  29.         }
  30.     }
  31.  
  32.  
  33.     while(!q.empty()){
  34.         char st = q.front();
  35.         q.pop();
  36.         //cout << st<<'\n';
  37.         for(pair<int, int> i : v[st]){
  38.             if(s[i.first][i.second] != '#'){
  39.                 s[i.first][i.second] = '#';
  40.                 kol[i.first]++;
  41.                 if(kol[i.first] == s[i.first].size() - 5 && us[s[i.first][0]] == 0){
  42.                     us[s[i.first][0]] = 1;
  43.                     q.push(s[i.first][0]);
  44.                 }
  45.             }
  46.         }
  47.     }
  48.     int q = 0;
  49.     for(char i = 'A'; i <= 'Z'; i ++){
  50.         if(us[i] == 1){
  51.             if(q){
  52.                 cout <<' ';
  53.             }
  54.             q = 1;
  55.             cout <<i;
  56.         }
  57.     }
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement