#define _USE_MATH_DEFINES #pragma region include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //// //#include // #pragma endregion //#include ///////// #pragma region typedef typedef long long LL; typedef long double LD; typedef unsigned long long ULL; #pragma endregion //typedef ////定数 const int INF = (int)1e9; const LL MOD = (LL)1e9+7; const LL LINF = (LL)4e18+20; const LD PI = acos(-1.0); const double EPS = 1e-9; ///////// using namespace::std; vector > G,rG; vector visit; vector dame; const int NG = -1; const int OK = 1; //買えない商品を設定 //Gを使う void dfs(int v){ if( dame[v] == NG ){ return; } dame[v] = NG; int size = G[v].size(); for(int i=0;i> N >> M; G=vector >(N); rG=vector >(N); for(int i=0;i>g>>r; --g;//商品index for(int j=0;j>h; --h; G[h].push_back( g ); rG[g].push_back( h ); } } visit = vector(N,false); dame = vector(N,0); for(int i=0;i