注意:找出一条欧拉回路,与判定这个图能不能一笔联通。。。是不同的概念

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]求字典序最小欧拉回路的更多相关文章

  1. HDU 5915 The Fastest Runner Ms. Zhang (CCPC2016 长春 E题,分类讨论 + 求字典序最小的直径 + 数据结构寻找最小值)

    题目链接  CCPC2016 Changchun Problem E 题意  给定一个$n$个点$n$条边的无向图,现在从某一点$s$出发,每个点都经过一遍,最后在$t$点停止,经过的边数为$l$   ...

  2. POJ 2337 Catenyms (有向图欧拉路径,求字典序最小的解)

    Catenyms Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8756   Accepted: 2306 Descript ...

  3. Floyd求字典序最小的路径

    hdu1384 Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  4. 图论--2-SAT--暴力染色法求字典序最小模版

    #include <cstdio> #include <cstring> #include <stack> #include <queue> #incl ...

  5. BZOJ1046 [HAOI2007]上升序列 【LIS + 字典序最小】

    1046: [HAOI2007]上升序列 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 5410  Solved: 1877 [Submit][St ...

  6. Catenyms (POJ2337) 字典序最小欧拉路

    // 很久不写图论,连模板也不熟悉了0.0 // 这题是一个技巧性比较高的暴力DFS Catenyms 题目大意 定义catenym为首尾字母相同的单词组成的单词对, 例如: dog.gopher g ...

  7. POJ1815 Friendship(字典序最小最小割割边集)

    看了题解.当时也觉得用邻接矩阵挺好写的,直接memset:然而邻接矩阵不懂得改,于是就放开那个模板,写了Dinic.. 方法是,按字典序枚举每一条满流的边,然后令其容量减1,如果最大流改变了,这条边就 ...

  8. poj 1815 Friendship 字典序最小+最小割

    题目链接:http://poj.org/problem?id=1815 In modern society, each person has his own friends. Since all th ...

  9. HDU 1385 Minimum Transport Cost (输出字典序最小路径)【最短路】

    <题目链接> 题目大意:给你一张图,有n个点,每个点都有需要缴的税,两个直接相连点之间的道路也有需要花费的费用.现在进行多次询问,给定起点和终点,输出给定起点和终点之间最少花费是多少,并且 ...

随机推荐

  1. CSS复习

    CSS 选择器 p.into  表示带有into类的p元素 伪类: a)      first-line b)      last-line 伪元素: :before  能在指定的元素前添加内容(创造 ...

  2. Web前端框架

    框架框架,先框后架.你觉得不方便或者麻烦的地方就像是第一个框(frame)字一样,有点限制住你的感觉.为啥现在你没有觉得有架(work)的感觉呢?其实也在你的问题中提到了:1. 入行时间短,工作比较闲 ...

  3. 面试题目——《CC150》高等难题

    面试题18.1:编写一个函数,将两个数字相加.不得使用+或其他算数运算符. package cc150.high; public class Add { public static void main ...

  4. JavaScript 数组中的 indexOf 方法

    let arr = ['orange', '2016', '2016']; arr.indexOf('orange'); //0 arr.indexOf('o'); //-1 arr.indexOf( ...

  5. [转] 64位windows下添加postgreSQL odbc数据源

    系统环境:windows7 64位 postgreSQL9.0(64bit)   ps:安装postgreSQL时确定安装了odbc驱动.   问题:点击“开始->控制面板->管理工具-& ...

  6. [UML]UML系列——类图class的依赖关系

    相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列—— ...

  7. MRDS学习一——Hello World

    第一步:从左边的Basic Activities中把Data这个元件拖到Diagram中,把Data的类别改为string,中间填入Hello World. 第二步:接着把这个资料输出到一个Servi ...

  8. 每秒执行一个shell脚本(转载)

      上周迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器的数据,数据有更新,并找到了rsync服务,从其他服务器传输数据,那么如何找到这台服务器?因为是从远程传输到本地,而且不是很频繁, ...

  9. JavaScript - 对象

    1.对象(Object)或实例(instance):在JavaScript中,对象则是数据与程序代码的组合,它可以是整个应用程序或整个应用程序的一部分. 2.属性(property)或字段(filed ...

  10. Ubuntu12.04安装lnmp环境笔记

    说明:笔记中使用的命令都是在root账户权限下执行的,如果使用的是普通账户,请注意在命令前加上“sudo”指令. 1.更新apt-get软件库: 命令:apt-get update 该操作的目的是确保 ...