https://www.acmicpc.net/problem/11277 https://www.acmicpc.net/problem/11280 #include #include #include #include #include #include #include using namespace std; typedef pair P; const int MAX = 100001; int N, M, cnt, dfsn[MAX], SN, sn[MAX]; vector adj[MAX]; bool finished[MAX]; stack S; vector SCC; inline int oppo(int n){ return n%2 ? n-1 : n+1; } int DFS(int curr){ dfsn[curr] = ++cnt; S.push(curr)..