[poj2337]求字典序最小欧拉回路
注意:找出一条欧拉回路,与判定这个图能不能一笔联通。。。是不同的概念
c++奇怪的编译规则。。。生不如死啊。。。
string怎么用啊。。。cincout来救?
可以直接.length()我也是长见识了。。。
CE怎么办啊。。。g++来救?
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#define N 2020
using namespace std;
];
],];];
;
int head[N],vet[N],pri[N],next[N],flag[N],len[N];
void add(int u,int v,int w)
{
edgenum++;vet[edgenum]=v;next[edgenum]=head[u];head[u]=edgenum;
pri[edgenum]=w;
}
void dfs(int u)
{
int e=head[u];
)
{
int v=vet[e];
){
flag[e]=;dfs(v);ans[cnt++]=pri[e];
}
e=next[e];
}
}
int main()
{
int cas,n;scanf("%d",&cas);
while(cas--)
{
scanf("%d",&n);
;i < n;i++)
cin>>str[i];
sort(str,str+n);//要输出字典序最小的解,先按照字典序排序
//for(int i=0;i<n;i++)len[i]=strlen(str[i]);
edgenum=;memset(head,,sizeof(head));
memset(flag,,sizeof(flag));
memset(,,sizeof(out));
;
;i>=;i--){
])-])-'a';
add(u,v,i);out[u]++;in[v]++;
if(u<start)start=u;if(v<start)start=v;
}
,cc2=;
;i<;i++){
){
cc1++;start=i;
})cc2++;)cc1=;
}
&&cc2==)||(cc1==&&cc2==))){
printf("***\n");continue;
}
cnt=;dfs(start);
if(cnt!=n){printf("***\n");continue;}
; i >= ;i--)
{
cout<<str[ans[i]];
)printf(".");
else printf("\n");
}
}
}
然而这道题可是需要把所有边一遍走掉的。
[poj2337]求字典序最小欧拉回路的更多相关文章
- HDU 5915 The Fastest Runner Ms. Zhang (CCPC2016 长春 E题,分类讨论 + 求字典序最小的直径 + 数据结构寻找最小值)
题目链接 CCPC2016 Changchun Problem E 题意 给定一个$n$个点$n$条边的无向图,现在从某一点$s$出发,每个点都经过一遍,最后在$t$点停止,经过的边数为$l$ ...
- POJ 2337 Catenyms (有向图欧拉路径,求字典序最小的解)
Catenyms Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8756 Accepted: 2306 Descript ...
- Floyd求字典序最小的路径
hdu1384 Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- 图论--2-SAT--暴力染色法求字典序最小模版
#include <cstdio> #include <cstring> #include <stack> #include <queue> #incl ...
- BZOJ1046 [HAOI2007]上升序列 【LIS + 字典序最小】
1046: [HAOI2007]上升序列 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5410 Solved: 1877 [Submit][St ...
- Catenyms (POJ2337) 字典序最小欧拉路
// 很久不写图论,连模板也不熟悉了0.0 // 这题是一个技巧性比较高的暴力DFS Catenyms 题目大意 定义catenym为首尾字母相同的单词组成的单词对, 例如: dog.gopher g ...
- POJ1815 Friendship(字典序最小最小割割边集)
看了题解.当时也觉得用邻接矩阵挺好写的,直接memset:然而邻接矩阵不懂得改,于是就放开那个模板,写了Dinic.. 方法是,按字典序枚举每一条满流的边,然后令其容量减1,如果最大流改变了,这条边就 ...
- poj 1815 Friendship 字典序最小+最小割
题目链接:http://poj.org/problem?id=1815 In modern society, each person has his own friends. Since all th ...
- HDU 1385 Minimum Transport Cost (输出字典序最小路径)【最短路】
<题目链接> 题目大意:给你一张图,有n个点,每个点都有需要缴的税,两个直接相连点之间的道路也有需要花费的费用.现在进行多次询问,给定起点和终点,输出给定起点和终点之间最少花费是多少,并且 ...
随机推荐
- HD2222 Keywords Search(AC自动机入门题)
然而还不是很懂=_= #include <iostream> #include <cstring> #include <algorithm> #include &l ...
- HTTP Content-type 对照表
Application Type 文件扩展名 Content-Type(Mime-Type) 描述 . application/x- .* application/octet-stream 二进制 ...
- c++ 虚函数
class A { public: virtual void f();//希望派生类重写 void fun();//绝大多数情况下不要重新定义基类的非虚函数,那样会打破公有继承Is-A的关系,而且行为 ...
- JS策略模式
1.策略模式的定义 策略模式又叫算法簇模式,将一组算法分装到一组具体共同接口的独立类或者对象中,它不影响客户端的情况下发生变化. 通常策略模式适用于当一个应用程序需要实现一种特点的服务和功能,而且该程 ...
- Bash 中为 _ 变量赋空值的三个场景
$_ 有好几个功能,我们最常用的是用它来获取“刚刚执行过的命令的最后一个参数”这个功能,比如下面这样: $ ls ~/Downloads/very/long/dir/ # ls 到某个目录看看有没有 ...
- [译]ES6中的代理对象
原文:http://ariya.ofilabs.com/2013/07/es6-and-proxy.html 能够拦截在一个对象上的指定操作的能力是非常有用的,尤其是在故障调试的时候.通过ECMASc ...
- codevs2645 Spore
题目描述 Description 某陈和某Y 最近对一个游戏着迷.那是Electronic Arts 今年发布的优秀的模拟经营类游戏,Spore. 在Spore 中,玩家将经历从单细胞生物到星系的统治 ...
- PHP如何判断一个gif图片是否为动画?
首先想到的是用getimagesize()看看type,发现都是gif. 然后想gif动画是gif89格式的,发现文件开头是gif89,但是很多透明图片也是用的gif89格式. 看来必须分析文件的祯了 ...
- composer的安装以及laravel框架的安装(一)
laravel号称世界上最好的php框架,没有之一,下面介绍它的安装 laravel学习交流qq群:293798134 composer的安装 : php开发者很多,并且在web开发领域占据绝对统治地 ...
- Lua手动编译姿势
LUA-5.3.3.tar.gz Lua源码+链接2016年5月30日更新 手动编译姿势: 已经装有VS2010 使用VS自带的 cl.exe以及 VS命令簿 打开文件地址 运行自己的bat文件 my ...