General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
33494405 Practice:
monk_z
263D - 19 C++14 (GCC 6-32) Accepted 560 ms 9948 KB 2017-12-22 06:52:10 2017-12-22 06:52:10
→ Source
#include<iostream>
#include<vector>
using namespace std;
int n,m,k,p,q,vis[100001],s[100001],e[100001],t=-1,a=-1,f=1,r=0;
vector<vector<int> > v(100001);
void dfs(int i,int c)
{
	e[++a]=i;
	if(vis[i] and c-vis[i]>k)if(f){while(e[r]!=i)r++;for(int l=r;l<=a;l++)s[++t]=e[l],f=0;}
	if(!vis[i])
	{
		vis[i]=c;
		for(int j=0;j<v[i].size();j++)dfs(v[i][j],c+1);
	}a--;
}
int main()
{
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++)cin>>p>>q,v[p].push_back(q),v[q].push_back(p);
	dfs(1,1);
	cout<<t<<endl;
	for(int i=0;i<t;i++)cout<<s[i]<<" ";
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details