kovanice.cpp: In function 'int main()':
kovanice.cpp:56:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
56 | #define fri(x) for(int i = 0; i < x; ++i)
| ~~^~~~~~~~~
57 | #define frj(x) for(int j = 0; j < x; ++j)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58 | #define frp(x) for(int p = 0; p < x; ++p)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 | #define frr(a, b) for(int i = a; i < b; ++i)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 | #define frrj(a, b) for(int j = a; j < b; ++j)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 | #define fra(x) for(int i = 0; i < x; ++i) cin >> a[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 | #define frb(x) for(int i = 0; i < x; ++i) cin >> b[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 | #define frs(x) for(auto it = x.begin(); it != x.end(); ++it)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | #define fr(x) for(auto it : x) //el
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | #define fastio ios_base::sync_with_stdio(false); cin.tie(0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 | #define dbg(x) cerr << #x << ": " << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67 | #define ce(x) cout << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | #define uniq(x) x.resize(unique(all(x)) - x.begin()); //make all one after sorting
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | #define blt __builtin_popcount
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | /////////////////////print array, vector, deque, set, multiset, pair, map /////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | void print(long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | void print(int t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | void print(string t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 | void print(char t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 | void print(double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76 | void print(long double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77 | void print(unsigned long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | template <class T, class V> void print(pair <T, V> p) {cerr << "{"; print(p.first); cerr << ","; print(p.second); cerr << "}";}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 | template <class T, class V> void print(T v[],V n) {cerr << "["; for(int i = 0; i < n; i++) {print(v[i]); cerr << " "; } cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 | template <class T> void print(vector <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81 | template <class T> void print(set <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82 | template <class T> void print(multiset <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83 | template <class T> void print(stack <T> v) {cerr << "[ "; stack<T> s = v; while(s.size()) {T i = s.top(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84 | template <class T> void print(queue <T> v) {cerr << "[ "; queue<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85 | template <class T> void print(deque <T> v) {cerr << "[ "; deque<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop_front(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 | template <class T, class V> void print(map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87 | template <class T, class V> void print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88 | /////////////////////code/////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 | vi eq[1000005], g[1000005], gr[1000005];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90 | int d[1000005], ans[1000005], in[1000005], out[1000005];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91 | int color, comp[1000005], answ[1000005];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92 | bool used[1000005];
| ~~~~~~~~~~~~~~~~~~~
93 | void dfs1(int v) {
| ~~~~~~~~~~~~~~~~~~
94 | used[v] = 1;
| ~~~~~~~~~~~~
95 | for(int u : gr[v]) {
| ~~~~~~~~~~~~~~~~~~~~
96 | if(!used[u]) dfs1(u);
| ~~~~~~~~~~~~~~~~~~~~~
97 | in[v] = max(in[v], in[u] + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98 | }
| ~
99 | for(int u : eq[v]) {
| ~~~~~~~~~~~~~~~~~~~~
100 | if(!used[u]) dfs1(u);
| ~~~~~~~~~~~~~~~~~~~~~
101 | in[v] = max(in[v], in[u]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
102 | in[u] = in[v];
| ~~~~~~~~~~~~~~
103 | }
| ~
104 | }
| ~
105 | void dfs2(int v) {
| ~~~~~~~~~~~~~~~~~~
106 | used[v] = 1;
| ~~~~~~~~~~~~
107 | for(int u : g[v]) {
| ~~~~~~~~~~~~~~~~~~~
108 | if(!used[u]) dfs2(u);
| ~~~~~~~~~~~~~~~~~~~~~
109 | out[v] = max(out[v], out[u] + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110 | }
| ~
111 | for(int u : eq[v]) {
| ~~~~~~~~~~~~~~~~~~~~
112 | if(!used[u]) dfs2(u);
| ~~~~~~~~~~~~~~~~~~~~~
113 | out[v] = max(out[v], out[u]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114 | out[u] = out[v];
| ~~~~~~~~~~~~~~~~
115 | }
| ~
116 | }
| ~
117 | void dfscomp(int v) {
| ~~~~~~~~~~~~~~~~~~~~~
118 | comp[v] = color;
| ~~~~~~~~~~~~~~~~
119 | if(ans[v]) answ[color] = ans[v];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120 | for(int u : eq[v])
| ~~~~~~~~~~~~~~~~~~
121 | if(!comp[u])
| ~~~~~~~~~~~~
122 | dfscomp(u);
| ~~~~~~~~~~~
123 | }
| ~
124 | int main() {
| ~~~~~~~~~~~~
125 | fastio;
| ~~~~~~~
126 | int n, m, q; cin >> n >> m >> q; //n->tesakner, m->qanak
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127 | string s;
| ~~~~~~~~~
128 | fri(q) {
| ~~~~~~~~
129 | cin >> s;
| ~~~~~~~~~
130 | int id, x = 0, y = 0;
| ~~~~~~~~~~~~~~~~~~~~~
131 | fri(s.size()) {
| ~~~~~~~~~~~~
kovanice.cpp:131:3: note: in expansion of macro 'fri'
131 | fri(s.size()) {
| ^~~
kovanice.cpp:59:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
59 | #define frr(a, b) for(int i = a; i < b; ++i)
| ~~^~~~~~~~~
60 | #define frrj(a, b) for(int j = a; j < b; ++j)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 | #define fra(x) for(int i = 0; i < x; ++i) cin >> a[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 | #define frb(x) for(int i = 0; i < x; ++i) cin >> b[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 | #define frs(x) for(auto it = x.begin(); it != x.end(); ++it)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | #define fr(x) for(auto it : x) //el
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | #define fastio ios_base::sync_with_stdio(false); cin.tie(0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 | #define dbg(x) cerr << #x << ": " << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67 | #define ce(x) cout << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | #define uniq(x) x.resize(unique(all(x)) - x.begin()); //make all one after sorting
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | #define blt __builtin_popcount
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | /////////////////////print array, vector, deque, set, multiset, pair, map /////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | void print(long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | void print(int t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | void print(string t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 | void print(char t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 | void print(double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76 | void print(long double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77 | void print(unsigned long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | template <class T, class V> void print(pair <T, V> p) {cerr << "{"; print(p.first); cerr << ","; print(p.second); cerr << "}";}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 | template <class T, class V> void print(T v[],V n) {cerr << "["; for(int i = 0; i < n; i++) {print(v[i]); cerr << " "; } cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 | template <class T> void print(vector <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81 | template <class T> void print(set <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82 | template <class T> void print(multiset <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83 | template <class T> void print(stack <T> v) {cerr << "[ "; stack<T> s = v; while(s.size()) {T i = s.top(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84 | template <class T> void print(queue <T> v) {cerr << "[ "; queue<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85 | template <class T> void print(deque <T> v) {cerr << "[ "; deque<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop_front(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 | template <class T, class V> void print(map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87 | template <class T, class V> void print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88 | /////////////////////code/////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 | vi eq[1000005], g[1000005], gr[1000005];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90 | int d[1000005], ans[1000005], in[1000005], out[1000005];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91 | int color, comp[1000005], answ[1000005];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92 | bool used[1000005];
| ~~~~~~~~~~~~~~~~~~~
93 | void dfs1(int v) {
| ~~~~~~~~~~~~~~~~~~
94 | used[v] = 1;
| ~~~~~~~~~~~~
95 | for(int u : gr[v]) {
| ~~~~~~~~~~~~~~~~~~~~
96 | if(!used[u]) dfs1(u);
| ~~~~~~~~~~~~~~~~~~~~~
97 | in[v] = max(in[v], in[u] + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98 | }
| ~
99 | for(int u : eq[v]) {
| ~~~~~~~~~~~~~~~~~~~~
100 | if(!used[u]) dfs1(u);
| ~~~~~~~~~~~~~~~~~~~~~
101 | in[v] = max(in[v], in[u]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
102 | in[u] = in[v];
| ~~~~~~~~~~~~~~
103 | }
| ~
104 | }
| ~
105 | void dfs2(int v) {
| ~~~~~~~~~~~~~~~~~~
106 | used[v] = 1;
| ~~~~~~~~~~~~
107 | for(int u : g[v]) {
| ~~~~~~~~~~~~~~~~~~~
108 | if(!used[u]) dfs2(u);
| ~~~~~~~~~~~~~~~~~~~~~
109 | out[v] = max(out[v], out[u] + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110 | }
| ~
111 | for(int u : eq[v]) {
| ~~~~~~~~~~~~~~~~~~~~
112 | if(!used[u]) dfs2(u);
| ~~~~~~~~~~~~~~~~~~~~~
113 | out[v] = max(out[v], out[u]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114 | out[u] = out[v];
| ~~~~~~~~~~~~~~~~
115 | }
| ~
116 | }
| ~
117 | void dfscomp(int v) {
| ~~~~~~~~~~~~~~~~~~~~~
118 | comp[v] = color;
| ~~~~~~~~~~~~~~~~
119 | if(ans[v]) answ[color] = ans[v];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120 | for(int u : eq[v])
| ~~~~~~~~~~~~~~~~~~
121 | if(!comp[u])
| ~~~~~~~~~~~~
122 | dfscomp(u);
| ~~~~~~~~~~~
123 | }
| ~
124 | int main() {
| ~~~~~~~~~~~~
125 | fastio;
| ~~~~~~~
126 | int n, m, q; cin >> n >> m >> q; //n->tesakner, m->qanak
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127 | string s;
| ~~~~~~~~~
128 | fri(q) {
| ~~~~~~~~
129 | cin >> s;
| ~~~~~~~~~
130 | int id, x = 0, y = 0;
| ~~~~~~~~~~~~~~~~~~~~~
131 | fri(s.size()) {
| ~~~~~~~~~~~~~~~
132 | if(s[i] == '=' || s[i] == '<' || s[i] == '>') {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
133 | id = i+1;
| ~~~~~~~~~
134 | break;
| ~~~~~~
135 | }
| ~
136 | x *= 10; x += s[i] - '0';
| ~~~~~~~~~~~~~~~~~~~~~~~~~
137 | }
| ~
138 | frr(id, s.size()) {
| ~~~~~~~~~~~~~~~~
kovanice.cpp:138:3: note: in expansion of macro 'frr'
138 | frr(id, s.size()) {
| ^~~
kovanice.cpp:142:10: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
142 | if(s[id-1] == '=') {
| ~~^~