Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <string>
- #include <map>
- #include <queue>
- #include <set>
- using namespace std;
- set<string> all;
- set<string> used;
- map<string, int> mapp;
- map<string, int> mapp2;
- string s[101][3];
- int n;
- int k=0;
- string a, b, c;
- int d, e, f,g1=0,g2=1,g3=2;
- int main()
- {
- bool t1=false, t2=false, t3 = false;
- cin >> n;
- string enter;
- getline(cin, enter);
- vector<vector<int>>vec(301);
- map < string, vector < string > > g;
- for (int i = 0; i < (int)(n); i++)
- {
- cin >> a >> b >>c;
- g[a].push_back(b);
- g[a].push_back(c);
- g[b].push_back(a);
- g[b].push_back(c);
- g[c].push_back(a);
- g[c].push_back(b);
- all.insert(a);
- all.insert(b);
- all.insert(c);
- }
- mapp["Isenbaev"] = 0;
- used.insert("Isenbaev");
- deque < string > q;
- q.push_back("Isenbaev");
- while (!q.empty())
- {
- string v = q.front();
- q.pop_front();
- int p = mapp[v];
- for (int i = 0; i < g[v].size(); i++) {
- if (used.find(g[v][i]) == used.end())
- {
- used.insert(g[v][i]);
- q.push_back(g[v][i]);
- mapp[g[v][i]] = p + 1;
- }
- }
- }
- for (set<string>::iterator it = all.begin(); it != all.end(); it++)
- {
- string iter = *it;
- cout << iter << ' ';
- if (used.find(iter) == used.end())
- cout << "undefined" << endl;
- else
- cout << mapp[iter] << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement