#include #include #include #include #include using namespace std; vector univoco(); void casuale(); vector< vector > Navi; vector< vector > Mess; vector RM; #define NMAX 100000 #define MMAX 200000 int N,M; ofstream out ("output.txt"); int main(){ ifstream in ("input.txt"); in >> N >> M; RM.resize(N); for(int i=0; i()); Mess.push_back(vector ()); RM.push_back(-1); } for(int i=0; i> x >> y; Mess[x].push_back(y); Navi[y].push_back(x); } in.close(); for(int i=0; i uni(2); int v=0; while(!uni.empty()){ uni=univoco(); int mess=uni[1]; int nave=uni[0]; RM[mess]=nave; uni.clear(); v=1; } if (v==1){ casuale(); for(int i=0; i univoco(){ vector X(2); X.clear(); for(int i=0; i uni(2); for(int i=0; i