Submission #231023

#TimeUsernameProblemLanguageResultExecution timeMemory
231023PajarajaSenior Postmen (BOI14_postmen)C++17
38 / 100
1092 ms20088 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
vector<pair<int,int> > g[500007];
stack<int> st,sk;
bool vi[500007],vig[500007];
inline void euler(int s)
{
	for(int i=0;i<g[s].size();i++) if(!vig[g[s][i].second])
	{
		vig[g[s][i].second]=true;
		euler(g[s][i].first);
	}
	st.push(s);
}
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=0;i<m;i++)
	{
		int t1,t2;
		scanf("%d%d",&t1,&t2);
		g[t1].push_back({t2,i});
		g[t2].push_back({t1,i});
	}
	euler(1);
	for(int i=0;i<m+1;i++)
	{
		int x=st.top();
		st.pop();
		if(vi[x])
		{
			while(true)
			{
				int y=sk.top();
				printf("%d ",y);
				sk.pop();
				vi[y]=false;
				if(y==x) break;
			}
			printf("\n");
		}
		sk.push(x);
		vi[x]=true;
	}
}

Compilation message (stderr)

postmen.cpp: In function 'void euler(int)':
postmen.cpp:9:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<g[s].size();i++) if(!vig[g[s][i].second])
              ~^~~~~~~~~~~~
postmen.cpp: In function 'int main()':
postmen.cpp:19:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~
postmen.cpp:23:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&t1,&t2);
   ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...