Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
33494405 Дорешивание:
monk_z
263D - 19 C++14 (GCC 6-32) Полное решение 560 мс 9948 КБ 2017-12-22 06:52:10 2017-12-22 06:52:10
→ Исходный код
#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]<<" ";
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования