#include #include #include using namespace std; const int N=1000; // حداکثر تعداد رئوس int n, m; // تعداد رئوس و تعداد یال‌های جهت دار vector g[N]; // برای هر راس یک پشته که شامل راس‌هایی که به آنها یال خروجی دارد bool used[N]; bool end[N]; vector ans; bool dfs (int v) { used[v] = true; for (int i=0; i> n>>m; for(int i=0; i>t>>r; g[--t].push_back(--r); // است n-1 از ورودی یکی کم می‌کنیم چون بازه‌ی معتبر ما از صفر تا } if (topological_sort()) for(int i=n-1; i>=0; i--) cout << ans[i]+1 <