提交记录 6981


用户 题目 状态 得分 用时 内存 语言 代码长度
TimeTraveller 2002. 【NOIP2018】旅行(加强版) Wrong Answer 85 455.937 ms 66808 KB C++ 1.63 KB
提交时间 评测时间
2018-11-30 21:36:08 2020-08-01 00:55:56
#include<vector>
#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;
const int M=5e5+10;

vector <int> vec[M];
void add(int a,int b){
	vec[a].push_back(b);
	vec[b].push_back(a);
}

bool vis[M],cir[M];
int stk[M],top;
void dfs(int a,int b){
	vis[a]=1;stk[++top]=a;
	for(int i=0,sz=vec[a].size(),v;i<sz;++i){
		v=vec[a][i];
		if(v==b) continue;
		if(vis[v]){
			for(;top>0&&stk[top]!=v;--top){
				cir[stk[top]]=1;
			}	cir[v]=1;
			return;
		}else{
			dfs(v,a);
		}
	}
	vis[stk[top--]]=0;
}
int ans[M],tot,p1,p2;
void dfs_ans(int a,int b){
	ans[++tot]=a;
	for(int i=0,sz=vec[a].size(),v;i<sz;++i){
		v=vec[a][i];
		if((a==p1&&v==p2)||(a==p2&&v==p1)) continue;
		if(v==b) continue;
		dfs_ans(v,a);
	}
}
int fip;
void find_first_p(int a,int b){
	for(int i=0,sz=vec[a].size(),v;i<sz;++i){
		if(fip) return;
		v=vec[a][i];
		if(v==b) continue;
		if(cir[v]){fip=v;return;}
		find_first_p(v,a);
	}
}
void dfs_cir(int a,int b,int nex){
	for(int i=0,sz=vec[a].size(),v;i<sz;i++){
		if(p1&&p2) return;
		v=vec[a][i];
		if(v==b||!cir[v]) continue;
		if(v>=nex){
			p1=a;p2=v;
			return;
		}
		dfs_cir(v,a,nex);
	}
}
int n,m,a,b;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){scanf("%d%d",&a,&b);add(a,b);}
	for(int i=1;i<=n;i++){sort(vec[i].begin(),vec[i].end());}
	if(m==n-1){
		dfs_ans(1,1);
	}else{
		dfs(1,1);
		if(cir[1])fip=1;
		else find_first_p(1,1);
		int fi=0,nex=0;
		for(int i=0,sz=vec[fip].size();i<sz;i++){
			if(cir[vec[fip][i]]){
				if(!fi)fi=vec[fip][i];
				else if(!nex){
					nex=vec[fip][i];
					break;
				}
			}
		}
		dfs_cir(fip,fip,nex);
		dfs_ans(1,1);
	}
	for(int i=1;i<=n;i++){
		printf("%d ",ans[i]);
	}
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #12.023 ms11 MB + 484 KBAcceptedScore: 5

Testcase #22.064 ms11 MB + 496 KBAcceptedScore: 5

Testcase #32.093 ms11 MB + 488 KBAcceptedScore: 5

Testcase #42.091 ms11 MB + 488 KBAcceptedScore: 5

Testcase #53.588 ms11 MB + 812 KBAcceptedScore: 5

Testcase #63.601 ms11 MB + 796 KBAcceptedScore: 5

Testcase #737.962 ms17 MB + 736 KBAcceptedScore: 5

Testcase #838.102 ms16 MB + 920 KBAcceptedScore: 5

Testcase #9355.845 ms43 MB + 216 KBAcceptedScore: 5

Testcase #10360.151 ms45 MB + 332 KBAcceptedScore: 5

Testcase #11355.854 ms39 MB + 252 KBAcceptedScore: 5

Testcase #12361.233 ms41 MB + 504 KBAcceptedScore: 5

Testcase #133.763 ms11 MB + 916 KBWrong AnswerScore: 0

Testcase #143.765 ms11 MB + 964 KBWrong AnswerScore: 0

Testcase #1543.426 ms19 MB + 740 KBAcceptedScore: 5

Testcase #1643.976 ms20 MB + 416 KBAcceptedScore: 5

Testcase #17455.937 ms65 MB + 248 KBAcceptedScore: 5

Testcase #18455.291 ms65 MB + 248 KBAcceptedScore: 5

Testcase #19380.747 ms46 MB + 392 KBWrong AnswerScore: 0

Testcase #20444.777 ms58 MB + 392 KBAcceptedScore: 5


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-09 04:55:47 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠