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

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. jQuery下拉菜单插件Tendina.

    插件效果: 下载地址和文档: https://github.com/iprignano/tendina

  2. backup mysql

    #!/bin/bashcd /home/Licw/backup_openDBNow=$(date +"%m-%d-%Y--%H:%M:%S")#echo $NowFile=$Now ...

  3. ajax 的返回值类型

    ajax的dataType类型有三种:text,json,xml. text类型: 主页面: $.ajax({   url:"chuli.php",   dataType:&quo ...

  4. ecshop 后台分页功能

    Ecshop分页规则,分以下几个步骤 1.点击类别,获取第一页获取默认分类列表数据 2.点击“下一页”,采用ajax调取分页内容 实例分析(比如订单列表分页admin/order.php) 1.先写一 ...

  5. 14个技巧助你适配 iOS10

    1.Notification(通知) 自从 Notification 被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到 Us ...

  6. nyoj 218 Dinner(贪心专题)

    Dinner 时间限制:100 ms  |  内存限制:65535 KB 难度:1   描述 Little A is one member of ACM team. He had just won t ...

  7. PHP数组函数: array_walk()与 array_map() 的区别

    详细的介绍如下: PHP数组函数: array_walk() PHP数组函数: array_map() 实际应用中的一点区别与总结: array_walk() 主要用于对某个数组的迭代,相当于 for ...

  8. MySQL中find_in_set()和in的区别

    弄个测试表来说明两者的区别 CREATE TABLE `test` ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NUL ...

  9. 安卓TabHost页面

    <?xml version="1.0" encoding="UTF-8"?> <!-- TabHost组件id值不可变--> <T ...

  10. 04OC之分类Category,协议Protocol,Copy,代码块block

    一.Protocol协议 我们都知道,在C#有个规范称之为接口,就是规范一系列的行为,事物.在C#中是使用Interface关键字来声明一个接口的,但是在OC中interface是用来声明类,所以用了 ...