#include #include #include using namespace std; const int N=1000; // حداکثر تعداد رئوس int in_vectors[N]; // (تعداد یال ورودی هر راس (از بین رئوسی که هنوز حذف نشده‌اند int top_sort[N]; // آرایه‌ای مرتب‌سازی توپولوژیک را نگه می‌دارد int n, m; // تعداد رئوس و تعداد یال‌ها vector g[N]; // مجموعه‌ یال‌های گراف vector mySet; // مجموعه‌ای از راس‌ها که یال ورودی ندارند bool test_graph() { for(int i=0; i> n>>m; vector a; fill_n(in_vectors,n,0); for(int i=0; i>t>>r; g[--t].push_back(--r); /* * است n است ولی بازه معتبر راس ها در ورودی ۱ تا n-۱ بازه معتبر راس ها برای ما صفر تا * پس ما باید قبل از ذخیره یکی از آنها کم کنیم */ in_vectors[r]++; } if(test_graph()==true) cout << "No Cycle"<