首页 技术 正文
技术 2022年11月21日
0 收藏 374 点赞 3,576 浏览 1221 个字

题目大意:给定一个 N 个点,M 条边的无向图,要求不重复地经过每条边两次,并且从 1 号节点出发最后回到 1 号节点,求一条路径。

题解:不重复地经过两次这个操作很容易地通过无向图的建边方式来实现,在欧拉回路的 dfs 过程中只需要每次将当前边标记访问过即可。同样,一个点所有边访问结束之后再入栈,最后倒序输出结果即是一组答案。

代码如下

#include <cstdio>
#include <utility>
#include <cstring>
#include <ctype.h>
#include <stack>
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define all(x) x.begin(),x.end()
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
const int mod=1e9+7;
const int inf=0x3f3f3f3f;
const int maxv=1e4+10;
const int maxe=5e4+10;
inline ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
inline ll sqr(ll x){return x*x;}
inline ll read(){
ll x=0,f=1;char ch;
do{ch=getchar();if(ch=='-')f=-1;}while(!isdigit(ch));
do{x=x*10+ch-'0';ch=getchar();}while(isdigit(ch));
return f*x;
}struct node{
int nxt,to;
node(int x=0,int y=0):nxt(x),to(y){}
}e[maxe<<1];
int tot=1,head[maxv];
inline void add_edge(int from,int to){
e[++tot]=node(head[from],to),head[from]=tot;
}int n,m,stk[maxe<<1],top;
bool vis[maxe<<1];void read_and_parse(){
n=read(),m=read();
for(int i=1,x,y;i<=m;i++){
x=read(),y=read();
add_edge(x,y),add_edge(y,x);
}
}void dfs(int u){
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to;
if(!vis[i])vis[i]=1,dfs(v);
}
stk[++top]=u;
}void solve(){
dfs(1);
for(int i=2*m+1;i>=1;i--)printf("%d\n",stk[i]);
}int main(){
read_and_parse();
solve();
return 0;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,076
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,812
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,894