Cod sursa(job #3359885)

Utilizator mrvalentynTime Limit Exceeded mrvalentyn Data 5 iulie 2026 19:39:30
Problema Sortare topologica Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.2 kb
/*  
    *
    * soon on twitch : ex3qute 
    * 
    * ax ah al
    * kwxkwxkxkxwkxkwxkw
    * dumnezeu sa o ierte
*/


#include <bits/stdc++.h>  
using namespace std;  
#define ull unsigned long long  
#define ll long long  
#define pb push_back  
#define fastio ios_base::sync_with_stdio(0); cin.tie(nullptr);  
const int MOD = 1e9+7;
int di[4]={0,0,-1,1};  
int dj[4]={-1,1,0,0};  

const string FILENAME = "sortaret";
ifstream f(FILENAME + ".in");
ofstream g(FILENAME + ".out");


#ifndef exe
#define cin f
#define cout g
#endif

struct node {
    int info;
    node* nxt;
};

node* ls = nullptr;

int a[5001][5001];
int vz[50001];

int n,m;
void dfs(int k) {
    vz[k] = 1;
    for(int i=1;i<=n;++i) {
        if(a[k][i] && !vz[i]) dfs(i);
    }
    
    // ins

    node* tmp = new node;
    tmp->info = k;
    if(!ls) {
        ls = tmp;
    }
    else {
        tmp->nxt = ls;
        ls = tmp;
    }

    
}

signed main(){   

    
    cin >> n >> m;

    for(int i=1;i<=m;++i) {
        int x,y;
        cin >> x >> y;
        a[x][y] = 1;
    }

    for(int i=1;i<=n;++i) {
        if(!vz[i]) dfs(i);
    }


    while(ls) {
        cout << ls->info << ' ';
        ls = ls->nxt;
    }

    

    return 0;
}