欧拉图 CCF2016第六次 送货

 1 // 欧拉图 CCF2016第六次 送货
 2 // 思路:
 3 // CCF数据很水。。。。这道题有问题
 4 // 先判连通,再dfs边。
 5 // 应为输出要满足字典序最小,用vector存图,sort一遍,用stack保存答案
 6
 7 #include <bits/stdc++.h>
 8 using namespace std;
 9 #define LL long long
10 typedef pair<int,int> pii;
11 const double inf = 123456789012345.0;
12 const LL MOD =100000000LL;
13 const int N =1e4+10;
14 #define clc(a,b) memset(a,b,sizeof(a))
15 const double eps = 1e-7;
16 void fre() {freopen("in.txt","r",stdin);}
17 void freout() {freopen("out.txt","w",stdout);}
18 inline int read() {int x=0,f=1;char ch=getchar();while(ch>‘9‘||ch<‘0‘) {if(ch==‘-‘) f=-1; ch=getchar();}while(ch>=‘0‘&&ch<=‘9‘) {x=x*10+ch-‘0‘;ch=getchar();}return x*f;}
19
20 vector<int> g[N];
21 bool vit[N][N];
22 bool vis[N];
23 int d[N];
24 void dfs(int x){
25      vis[x]=true;
26      for(int i=0;i<(int)g[x].size();i++){
27         int v=g[x][i];
28         if(!vis[v])
29             dfs(v);
30      }
31 }
32 stack<int> st;
33 void euler(int x){
34      for(int i=0;i<(int)g[x].size();i++){
35         int v=g[x][i];
36         if(!vit[x][v]){
37             vit[x][v]=vit[v][x]=true;
38             euler(v);
39             st.push(v);
40         }
41      }
42 }
43 int main(){
44     int n,m;
45     scanf("%d%d",&n,&m);
46     for(int i=1;i<=m;i++){
47         int x,y;
48         scanf("%d%d",&x,&y);
49         g[x].push_back(y);
50         g[y].push_back(x);
51         d[x]++;d[y]++;
52     }
53     dfs(1);
54     bool flag=true;
55     for(int i=1;i<=n;i++){
56         if(!vis[i]){
57             flag=false;
58             break;
59         }
60     }
61     if(!flag){
62         printf("-1\n");
63     }
64     else{
65         int count=0;
66         for(int i=1;i<=n;i++){
67             sort(g[i].begin(),g[i].end());
68             if(d[i]%2) count++;
69         }
70         if(count>2) printf("-1\n");
71         else{
72             printf("1");
73             euler(1);
74             while(!st.empty()){
75                 int a=st.top();
76                 st.pop();
77                 printf(" %d",a);
78             }
79             printf("\n");
80         }
81     }
82     return 0;
83 }
时间: 2024-11-02 16:03:03

欧拉图 CCF2016第六次 送货的相关文章

京东无人机送货:董事长刘强东投巨资发展人工智能

文/辛东方,80后作家.专栏作者.专注互联网科技领域 科技智能互联网时代,各种智能化设备被广泛应用于生活当中去.就连商城送货也开始启用了无人机送货飞行测试,京东CEO刘强东向传统快递业发出挑战:我们用无人机送货,看谁跑得快!这是个高效率的时代." 经过多年打拼坚持之后,京东商城终于坐上了国内电商行业佼佼者的宝座.其高效率的送货流程,在国内赢得了好口碑.很多人在赞叹京东商城的优越性后,却不知道京东为此努力了很久. 据了解,京东已经拿到了在中国两个县城的无人机送货批文,现在正在进行无人机送货测试,京

欧拉图

欧拉图 定义: 欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回路的图称为欧拉图.欧拉图就是从图上的一点出发,经过所有边且只能经过一次,最终回到起点的路径. 欧拉通路:即可以不回到起点,但是必须经过每一条边,且只能一次.也叫"一笔画"问题. 性质: 欧拉回路:一个欧拉回路,删掉一个点,仍然是一个欧拉回路.从一个欧拉回路拖走一个小欧拉回路,结果也是一个欧拉回路. 判定(充要): 欧拉回路:1:  图G是连通的,不能有孤立点存在. 2:  对于无向图来说

欧拉图与中国邮递员问题算法

一.什么是中国邮递员问题? 在一个已知的地区,邮差要设法找到一条最短路径,可以走过此地区所有的街道,且最后要回到出发点. 中国邮递员问题由管梅谷教授在1962年提出. 我们会想到利用图来解决中国邮递员问题,其中就有种专门针对这种只访问一次路径的图的概念,称作欧拉图,由瑞士数学家Leonhard Euler(鼎鼎有名的欧拉)提出.下面开始欧拉图的一些基本概念. 二.欧拉路径和欧拉回路 1.图的一些基本概念: 图:记作G=(V,E),是一个由顶点V和边E构成的有限集合. 多重图(multi-grap

分期付款买手机 就选贝多分 原因有六

没有足够的钱,想买手机怎么办?想分期付款买手机,找不到可靠的商家怎么办?相信对于大学生而言,会有很多人有这样的疑问,不要担心,我来告诉你怎么办,分期付款买手机,就选贝多分. 大学生分期,只要有教务系统信息.身份证就可以办理, 60分钟之内完成审核;分期购物so easy! 第一:有借记卡就可分期 考虑到大学生无法办理信用卡,所以贝多分无需信用卡,借记卡/储蓄卡就可分期购物; 第二:独家免校园拍照认证 免寝室拍照,免上宿舍,只需在校园内签合同收货品,送货之前,还会有工作人员提前与您约时间.地点收货

聚焦新相亲时代:女孩在京有五六套房哭着想嫁富2代

2017-09-20 07:31:00 来源: 中国青年报(北京)        举报 6984 分享到: 易信 微信 QQ空间 微博 更多 用微信扫码二维码 分享至好友和朋友圈 T + - (原标题:中青报聚焦新相亲时代:2亿人及其背后家庭组成的"擂台") 石家庄某相亲角.视觉中国 资料 平均算下来,每一分钟里,国内有22对新人拿着户口本走向民政局,进入婚姻生活:同时,8对夫妻在另外一个窗口签下离婚协议. 根据民政部公布的数字,中国的结婚率和离婚率曲线渐渐逼近一个闭合的大于号.婚姻的

三百六十度全景图如何拍摄?

三百六十度全景图如何拍摄?随着全景技术的发展,全景拍摄也成为了一种十分新潮的摄影方式.全景摄影也有很多学问,而且随着全景照片的用途越来越多,拍摄全景的设备也越来越多.今天我们就介绍几种十分另类的360全景图拍摄方法,这些酷雷曼360全景图拍摄方法让你大开眼界. 工具/原料 相机 鱼眼镜头 云台 三角支架 方法/步骤 1 吊锤辅助360全景图拍摄方法 吊线保证拍摄时相机以节点旋转,使用吊线进行全景拍摄线不要太长,50CM以内比较容易控制,有时也到一米多在胸口位置进行拍摄,重锤容易晃动,很难对准.吊

数据库系统实现 第六章 查询执行

第六章 查询执行 查询执行也就是操作数据库的算法 一次查询的过程: 查询-->查询编译(第七章)-->查询执行(第六章)-->数据 查询编译预览 查询编译可以分为三个步骤: a)分析:构造分析树,用来表达查询和它的结构 b)查询重写,分析树被转化为初始查询计划,通常是代数表达式,之后初始的查询计划会被优化为一个时间更小的计划 c)物理计划生成,将查询计划转化成物理的计划, 为了选择更好的查询计划,需要判断 1)查询哪一个代数的等价形式是最有效的 2)对选中形式的每一个操作,所使用的算法选

【第二组】项目冲刺(Beta版本)第六次每日例会 2017/7/24

项目冲刺(Beta版本)第六次每日例会 开发小组:Hunter 冲刺经理:林贵渊 小组成员:林轩宇,张太,李明君,刘仁人 1.每日例会内容 (1)昨天做了什么 1.林轩宇:Button音效及服务器相关内容. 2.刘仁人:二维码制作. 3.张太:查找本地内容. 4.李明君:LOGO设计,Button美化. 5.林贵渊:本地内容整理优化. (2)遇到了什么问题 1.图像传输问题(林轩宇) 2.部分功能存在一些小BUG(李明君,林贵渊) 3.控件及界面优化(刘仁人,李明君) 4.玩家交互没有好的构想[

MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术

逻辑查询优化包括的技术 1)子查询优化  2)视图重写  3)等价谓词重写  4)条件简化  5)外连接消除  6)嵌套连接消除  7)连接消除  8)语义优化 9)非SPJ优化 一.子查询优化 1. 什么是子查询:当一个查询是另一个查询的子部分时,称之为子查询. 2. 查询的子部分,包含的情况: a) 目标列位置:子查询如果位于目标列,则只能是标量子查询,否则数据库可能返回类似“错误:子查询只能返回一个字段 ( [Err] 1242 - Subquery returns more than 1