train.cpp: In function 'bool dfs(int)':
train.cpp:22:28: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
22 | if(x!=-1) return res[u]=dfs(x);
train.cpp:36:28: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
36 | if(x!=-1) return res[u]=dfs(x);
train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:41:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
41 | for(int i=0;i<a.size();i++){
| ~^~~~~~~~~
train.cpp:48:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
48 | for(int i=0;i<u.size();i++){
| ~^~~~~~~~~
train.cpp:54:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
54 | for(int i=0;i<a.size();i++){
| ~^~~~~~~~~