Submission #718514

#TimeUsernameProblemLanguageResultExecution timeMemory
718514AugustynNaboj (COCI22_naboj)C++17
110 / 110
183 ms15160 KiB
#include<iostream> #include<vector> #define gu getchar_unlocked #define pf printf using namespace std; int sw() { int ret=0,wcz=gu(); while(wcz<'0'||wcz>'9') wcz=gu(); while(wcz>='0'&&wcz<='9') { ret=ret*10+wcz-'0'; wcz=gu(); } return ret; } int n,m; vector<int>*pol; bool *juzodw,*terodw; int *stp_wch,*odp,it; bool dfs(int t) { juzodw[t]=1; terodw[t]=1; for(int i:pol[t]) { if(terodw[i]==1) return 1; if(juzodw[i]==0) if(dfs(i)) return 1; } terodw[t]=0; odp[++it]=t; return 0; } int main() { n=sw();m=sw(); pol=new vector<int>[n+1]; juzodw=new bool[n+1]; terodw=new bool[n+1]; odp=new int[n+1]; stp_wch=new int[n+1]; while(m) { --m; int a,b; a=sw();b=sw(); pol[b].push_back(a); stp_wch[a]++; } for(int i=1;i<=n;++i) if(stp_wch[i]==0) if(dfs(i)) { pf("-1"); return 0; } if(it!=n) { pf("-1"); return 0; } pf("%d\n",n); for(int i=1;i<=n;++i) pf("%d 0\n",odp[i]); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...