Submission #260023

#TimeUsernameProblemLanguageResultExecution timeMemory
260023anonymousSenior Postmen (BOI14_postmen)C++14
55 / 100
525 ms61412 KiB
#include <iostream> #include <vector> #include <utility> #define MAXN 500005 using namespace std; int N, M, del[MAXN], inStack[MAXN]; vector <pair<int,int> > adj[MAXN]; vector <int> S,S2; void dfs(int u) { //Hierholzer while (adj[u].size()) { int v = adj[u].back().first, id = adj[u].back().second; adj[u].pop_back(); if (!del[id]) { del[id] = true; dfs(v); } } S.push_back(u); } int main() { //freopen("seniorin.txt","r",stdin); scanf("%d %d",&N,&M); for (int i=1; i<=M; i++) { int u,v; scanf("%d %d",&u,&v); adj[u].push_back({v,i}); adj[v].push_back({u,i}); } dfs(1); for (int i=0; i<S.size(); i++) { if (inStack[S[i]]) { while (S2.size() && S2.back() != S[i]) { printf("%d ",S2.back()); inStack[S2.back()]--; S2.pop_back(); } printf("%d\n",S[i]); } else { inStack[S[i]]++; S2.push_back(S[i]); } } }

Compilation message (stderr)

postmen.cpp: In function 'int main()':
postmen.cpp:32:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0; i<S.size(); i++) {
                   ~^~~~~~~~~
postmen.cpp:24:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&N,&M);
     ~~~~~^~~~~~~~~~~~~~~
postmen.cpp:27:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d %d",&u,&v);
         ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...