CSES Game Routes || help in debugging

Revision en1, by SuryaManikanta, 2022-10-13 16:29:45

link: https://cses.fi/problemset/task/1681/ mycode:

 #include<bits/stdc++.h>
 using namespace std;
 #define SPEED() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
 #define ll long long 
 #define MOD 1000000007

vector<ll> topo;
vector<ll> vis (1e5+1);

void dfs(ll x,vector<vector<ll>> adj){
  if(vis[x]){
    return;
  }
  vis[x]=1;
  for(auto ele:adj[x]){
    dfs(ele,adj);
  }
  
  topo.push_back(x);
}

 
 
 int main(){
     ll n,m;cin>>n>>m;
     vector<vector<ll>> adj (n+1);
     vector<vector<ll>> rev (n+1);
     
     ll a,b,ans=0;
     for(int i=0;i<m;i++){
      cin>>a>>b;
      adj[a].push_back(b);
      rev[b].push_back(a);
     }
    vector<ll> dp (n+1);
    dp[1]=1;
   dfs(1,adj);
    // for(auto ele:topo)
    //   cout<<ele<<" ";

reverse(topo.begin(),topo.end());
// for(auto ele: topo)
// cout<<ele<<" ";

    for(auto ele:topo){
      if (ele>1)
      {
         for(auto elee:rev[ele]){
       
          dp[ele]+=dp[elee];
          dp[ele]%=MOD;
       
      }
      }
     
    }

    cout<<dp[n]<<endl;
    // for(int i=1;i<=n;i++){
    //   cout<<dp[i]<<endl;
    // }


 }

getting runtime error for large inputs.

Tags graphs, debugging, cses, topological_sort

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English SuryaManikanta 2022-10-13 16:29:45 1287 Initial revision (published)