Submission #980549

#TimeUsernameProblemLanguageResultExecution timeMemory
980549rumbinSenior Postmen (BOI14_postmen)C++17
0 / 100
4 ms604 KiB
#include <bits/stdc++.h>

using namespace std;

vector<set<int>> E;
vector<int> V;

int t  = 1;
bool dfs(int u, int p, int s)
{
	V[u] = t;
	auto i = E[u].begin();
	for(auto v : E[u])
	{
		if(v == p) continue;
		if(v == s || (V[v] != t && dfs(v, u, s)))
		{
			if(E[v].find(u) != E[v].end())
			E[v].erase(E[v].find(u));
			if(E[u].find(v) != E[u].end())
			E[u].erase(E[u].find(v));
			cout<<u<<' ';
			return true;
		}
	}
	V[u] = 0;
	return false;
}

int main()
{
	int N,M;
	cin>>N>>M;
	E.assign(N+1,{});
	V.assign(N+1,0);
	for(int i=0; i<M; i++)
	{
		int u,v;
		cin>>u>>v;
		E[u].insert(v);
		E[v].insert(u);
	}
	for(int i=1; i<=N; i++)
	{
		if(E[i].size() > 0)
		{
			dfs(i,0,i);
			cout<<endl;
			t++;
		}
	}
}

Compilation message (stderr)

postmen.cpp: In function 'bool dfs(int, int, int)':
postmen.cpp:12:7: warning: variable 'i' set but not used [-Wunused-but-set-variable]
   12 |  auto i = E[u].begin();
      |       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...