#include <cstdio>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
#define pb push_back
const int N=500010,inf=0x3f3f3f3f;
int n,m,ans[N],num,lim=-1,outlim[N],out=500005,st[N],tp;
bool vis[N],incir[N];
vector <int> e[N];
inline void re(int &x)
{
x=0;
char ch=getchar();
while(ch<'0'||ch>'9') ch=getchar();
while(ch>='0'&&ch<='9') x=x*10+(ch^48), ch=getchar();
}
void cirl(int x,int fa)
{
vis[x]=1;
st[++tp]=x;
int i,y,siz=e[x].size();
for(i=0;i<siz;++i)
{
y=e[x][i];
if(y==fa) continue;
if(vis[y])
{
lim=x;
while(st[tp]!=y)
{
incir[st[tp]]=1;
--tp;
}
return;
}
cirl(y,x);
if(lim!=-1) return;
}
--tp;
}
void dfs(int x)
{
ans[++num]=x;
vis[x]=1;
if(out!=500006&&outlim[x]!=inf) out=x;
int i,y,siz=e[x].size();
for(i=0;i<siz;++i)
{
y=e[x][i];
if(vis[y]) continue;
if(incir[y]&&!vis[lim])
{
if(outlim[out]!=inf)
{
if(y>outlim[out]&&!vis[outlim[out]]) {out=500006; continue;}
}
else
{
if(y>lim) {out=500006; continue;}
}
}
dfs(y);
}
if(x==out) out=500006;
}
int main()
{
// freopen("travel.in","r",stdin);
// freopen("travel.out","w",stdout);
int i,j,u,v;
re(n); re(m);
for(i=1;i<=m;++i)
{
re(u); re(v);
e[u].pb(v); e[v].pb(u);
}
for(i=1;i<=n;++i) sort(e[i].begin(),e[i].end());
cirl(1,0);
memset(outlim,0x3f,sizeof(outlim));
for(i=1;i<=n;++i)
if(incir[i]&&e[i].size()>2)
{
u=e[i].size()-1;
for(j=u;j>=0;--j)
{
v=e[i][j];
if(incir[v]) break;
outlim[i]=v;
}
}
memset(vis,0,sizeof(vis));
dfs(1);
for(i=1;i<=n;++i) printf("%d ",ans[i]);
// fclose(stdin); fclose(stdout);
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 2.276 ms | 13 MB + 880 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #2 | 2.275 ms | 13 MB + 880 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #3 | 2.271 ms | 13 MB + 884 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #4 | 2.287 ms | 13 MB + 884 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #5 | 3.799 ms | 14 MB + 236 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #6 | 3.816 ms | 14 MB + 216 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #7 | 43.158 ms | 21 MB + 36 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #8 | 43.961 ms | 19 MB + 904 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #9 | 429.979 ms | 50 MB + 332 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #10 | 434.984 ms | 53 MB + 324 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #11 | 428.801 ms | 44 MB + 700 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #12 | 437.054 ms | 47 MB + 900 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #13 | 3.811 ms | 14 MB + 256 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #14 | 3.846 ms | 14 MB + 312 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #15 | 42.015 ms | 21 MB + 796 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #16 | 42.567 ms | 22 MB + 440 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #17 | 441.777 ms | 67 MB + 156 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #18 | 441.63 ms | 67 MB + 156 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #19 | 398.722 ms | 51 MB + 748 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #20 | 424.826 ms | 60 MB + 296 KB | Accepted | Score: 5 | 显示更多 |