欧拉图 CCF2016第六次 送货
- // 欧拉图 CCF2016第六次 送货
- // 思路:
- // CCF数据很水。。。。这道题有问题
- // 先判连通,再dfs边。
- // 应为输出要满足字典序最小,用vector存图,sort一遍,用stack保存答案
- #include <bits/stdc++.h>
- using namespace std;
- #define LL long long
- typedef pair<int,int> pii;
- const double inf = 123456789012345.0;
- const LL MOD =100000000LL;
- const int N =1e4+;
- #define clc(a,b) memset(a,b,sizeof(a))
- const double eps = 1e-;
- void fre() {freopen("in.txt","r",stdin);}
- void freout() {freopen("out.txt","w",stdout);}
- inline int read() {int x=,f=;char ch=getchar();while(ch>''||ch<'') {if(ch=='-') f=-; ch=getchar();}while(ch>=''&&ch<='') {x=x*+ch-'';ch=getchar();}return x*f;}
- vector<int> g[N];
- bool vit[N][N];
- bool vis[N];
- int d[N];
- void dfs(int x){
- vis[x]=true;
- for(int i=;i<(int)g[x].size();i++){
- int v=g[x][i];
- if(!vis[v])
- dfs(v);
- }
- }
- stack<int> st;
- void euler(int x){
- for(int i=;i<(int)g[x].size();i++){
- int v=g[x][i];
- if(!vit[x][v]){
- vit[x][v]=vit[v][x]=true;
- euler(v);
- st.push(v);
- }
- }
- }
- int main(){
- int n,m;
- scanf("%d%d",&n,&m);
- for(int i=;i<=m;i++){
- int x,y;
- scanf("%d%d",&x,&y);
- g[x].push_back(y);
- g[y].push_back(x);
- d[x]++;d[y]++;
- }
- dfs();
- bool flag=true;
- for(int i=;i<=n;i++){
- if(!vis[i]){
- flag=false;
- break;
- }
- }
- if(!flag){
- printf("-1\n");
- }
- else{
- int count=;
- for(int i=;i<=n;i++){
- sort(g[i].begin(),g[i].end());
- if(d[i]%) count++;
- }
- if(count>) printf("-1\n");
- else{
- printf("");
- euler();
- while(!st.empty()){
- int a=st.top();
- st.pop();
- printf(" %d",a);
- }
- printf("\n");
- }
- }
- return ;
- }
欧拉图 CCF2016第六次 送货的更多相关文章
- WinForm开发之取送货管理1
一.取送货管理项目需求 该系统的业务背景如下:客户是一个针织半成品生产加工作坊,有很多生产加工人员从客户工厂那里取走半成品,加工成成品后送回来.客户根据加工每种半成品的加工单价和完成数量,付费用给生产 ...
- 欧拉图 欧拉回路 欧拉通路 Euler
欧拉图 本文链接:http://www.cnblogs.com/Ash-ly/p/5397702.html 定义: 欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回 ...
- 欧拉图 欧拉回路 欧拉通路 Euler的认识 (转)
转:https://www.cnblogs.com/Ash-ly/p/5397702.html 定义: 欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回路的图称为欧 ...
- 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文
阅读目录 前言 如何在一个项目中实现多个上下文的业务 售价上下文与购买上下文的集成 结语 一.前言 前几篇已经实现了一个最简单的购买过程,这次开始往这个过程中增加一些东西.比如促销.会员价等,在我们的 ...
- MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息
MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...
- 【原】AFNetworking源码阅读(六)
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...
- CRL快速开发框架系列教程六(分布式缓存解决方案)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 【微信小程序开发•系列文章六】生命周期和路由
这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- REACTOS(193)与汇编编译器(69)的高人
REACTOS(193)与汇编编译器(69)的高人http://blog.csdn.net/caimouse ReactOS编译成VS工程1: 首先从https://www.reactos.org/w ...
- spring 定时任务的 执行时间设置规则(转)
spring 定时任务的 执行时间设置规则 单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运 ...
- JRE下的rt.jar、tools.jar
JRE下的rt.jar: 这个文件是极为重要的一个文件,rt是runtime的缩写,即运行时的意思.是java程序在运行时必不可少的文件. 里面包含了java程序员常用的包,如java.lang,ja ...
- *CentOS下简单的MySQL数据库操作
1.登录成功之后退出的话,直接输入quit或者exit即可.
- 234. Palindrome Linked List
题目: Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) t ...
- MATLAB曲线绘制
一. 二维数据曲线图1.1 绘制 单根二维曲线plot 函数的基本调用 格式为:plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标 和y坐标数据. 例1-1 在0≤x≤2p区间内,绘制 ...
- Ajax的“dataType”乱用的陷阱
$.doAjax({ url : "areaAction_synchronizeArea.do", data : { 'vrvRangeUrl' : synAreaHTTP ,'v ...
- CodeForces 489C (贪心) Given Length and Sum of Digits...
题意: 找出m位且各个数位数字之和为s的最大和最小整数,不包括前导0(比如说003是非法的),但0是可以的. 分析: 这题是用贪心来做的,同样是m位数,前面的数字越大这个数就越大. 所以写一个can( ...
- BZOJ_1024_[SHOI2008]_生日快乐_(dfs)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1024 给出一个\(x*y\)的距形,要求平行于边切,最终切成\(n\)个面积相等的小距形,求长 ...
- IIS修改队列长度(IIS6+IIS7)
Internet Information Services (IIS) 限制了在任何给定时间可在队列中等待的应用程序池请求的最大数量.如果达到此限制,则所有新请求都将被拒绝,而且用户将收到错误消息“5 ...