CCF 送货 + 欧拉路模板】的更多相关文章

#include <bits/stdc++.h> using namespace std; stack<int> st; vector<]; ][]; ],cp[]; int n,m; void pd(int a)//先判断是不是联通图 { cp[a]=; vector<int>::iterator it; for(it=vec[a].begin();it!=vec[a].end();it++) { if(!cp[*it]) { pd(*it); } } } vo…
题目:http://codeforces.com/contest/36/problem/E 找出两条欧拉路覆盖无向图. 套上欧拉路模板.用过的边要记录. 注意 一个连通块.4个奇度数点 的情况是在两个奇度数点之间连一条边,跑完欧拉路后再断开!而不是…… 特别奇怪的一点是如果不写那个  跑完欧拉路后发现队列里的边不足m条就输出-1  就会WA. 但Zinn没有这个特判,我也觉得这种情况很奇怪.可能是代码别的地方写错了? #include<iostream> #include<cstdio&…
问题描述 为了增加公司收入,F公司新开设了物流业务.由于F公司在业界的良好口碑,物流业务一开通即受到了消费者的欢迎,物流业务马上遍及了城市的每条街道.然而,F公司现在只安排了小明一个人负责所有街道的服务. 任务虽然繁重,但是小明有足够的信心,他拿到了城市的地图,准备研究最好的方案.城市中有n个交叉路口,m条街道连接在这些交叉路口之间,每条街道的 首尾都正好连接着一个交叉路口.除开街道的首尾端点,街道不会在其他位置与其他街道相交.每个交叉路口都至少连接着一条街道,有的交叉路口可能只连接着一 条或两…
( ̄▽ ̄)" //不知道为什么,用scanf输入char数组的话,字符获取失效 //于是改用cin>>string,就可以了 //这题字符的处理比较麻烦,输入之后转成数字,用到函数get(char),get_num(string,int) //最后字符的输出是反向输出的,用到函数get_char(int) //这道题也算是到无向图输出欧拉路的模板题,判有无欧拉路用到函数ok() #include<iostream> #include<cstdio> #incl…
求图中最短的欧拉路.题解:因为是一棵树,因此当从某一个节点遍历其子树的时候,如果还没有遍历完整个树,一定还需要再回到这个节点再去遍历其它子树,因此除了从起点到终点之间的路,其它路都被走了两次,而我们要求总的路程最短,那么我们就让从起点到终点的路最长即可,也就是树的直径.所以答案就是所有边权的两倍再减去树的直径 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #…
// 很久不写图论,连模板也不熟悉了0.0 // 这题是一个技巧性比较高的暴力DFS Catenyms 题目大意 定义catenym为首尾字母相同的单词组成的单词对, 例如: dog.gopher gopher.rat rat.tiger aloha.aloha arachnid.dog 而catenym系统则是多个利用该规则组成的单词串,例如: aloha.aloha.arachnid.dog.gopher.rat.tiger 给定一组单词,让你判断是否能组成catenym系统,且每个单词只能…
题目描述 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现. 输入输出格式 输入格式: 第一行输入一个正整数n. 以下n行每行两个字母,表示这两个字母需要相邻. 输出格式: 输出满足要求的字符串. 如果没有满足要求的字符串,请输出“No Solution”. 如果有多种方案,请输出前面的字母的ASCII编码尽可能小的(字典序最小)的方案 输入输出样例 输入样例#1: 4 aZ tZ Xt aX 输…
Play on Words Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11846   Accepted: 4050 Description Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because ther…
欧拉路径是指能从一个点出发能够“一笔画”完整张图的路径:(每条边只经过一次而不是点) 在无向图中:如果每个点的度都为偶数 那么这个图是欧拉回路:如果最多有2个奇数点,那么出发点和到达点必定为该2点,那么这个路径就为欧拉路:(前提都是该图连通) 在有向图中:如果每个店的出度和入度都相同,那么为欧拉回路:如果最多只能有2个点的出度不等于入度,并且其中一个点的 入度=出度+1,另一点的 入度+1=出度,那么为欧拉路:(前提图连通) //因为字符从第一个到最后一个,所以用有向图 #include<std…
题目链接 题意:一种由彩色珠子组成的项链.每个珠子的两半由不同的颜色组成.相邻的两个珠子在接触的地方颜色相同.现在有一些零碎的珠子,需要确定他们是否可以复原成完整的项链 分析:之前也没往欧拉路上面想,看了书上的分析,太对了.把每一个颜色看做一个节点,把每个珠子的两半练成一条边,就转换成了求是否构成欧拉回路的问题了. 这道题学到的东西就是欧拉回路的打印,要逆序!!!! 这篇是讲逆序的原因 如果不逆序, 这组样例 1,2: 2,3 : 3,2: 2,1:就打印不对,因为它会打印 1,2:2,1:2,…