这是一道欧拉回路题

欧拉回路:就是一个路径包括每条边恰好一次。

判断是否满足欧拉回路。首先是图是联通的。其次图中每个点的入度等于出度。如果是欧拉路径的话,满足奇点只能等于2或0,并且对于有向图,奇点的入度和出度差值为1和-1。

 #include <iostream>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <algorithm>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <stack>
#include <queue>
using namespace std;
const double Pi=3.14159265358979323846;
typedef long long ll;
const int MAXN=+;
const int dx[]={,,,-};
const int dy[]={,-,,};
const int INF = 0x3f3f3f3f;
const int NINF = 0xc0c0c0c0;
int t;
int in[MAXN];
int out[MAXN];
int mp[MAXN][MAXN];
bool vis1[MAXN];
bool vis2[MAXN]; bool dfs(int v,vector <int> S)
{
for(int i=;i<S.size();i++)
{
if(!vis2[S[i]]&&mp[v][S[i]])
{
vis2[S[i]]=;
dfs(S[i],S);
}
}
}
int main()
{
cin>>t;
while(t--)
{ memset(vis1,,sizeof(vis1));
memset(vis2,,sizeof(vis2));
memset(in,,sizeof(in));
memset(out,,sizeof(out));
memset(mp,,sizeof(mp));
int n;scanf("%d",&n);
vector <int> S;
for(int i=;i<=n;i++)
{
string str;cin>>str;
int len=str.size();
int inc=str[]-'a';
int outc=str[len-]-'a';
mp[inc][outc]=;
vis1[inc]=;vis1[outc]=;
in[inc]++;
out[outc]++;
}
for(int i=;i<;i++) if(vis1[i]) {S.push_back(i);} vector <int> V;
for(int i=;i<;i++)
{
if(in[i]!=out[i]) V.push_back(i);
}
vis2[S[]]=;
dfs(S[],S);
int flag=;
for(int i=;i<;i++) cout <<vis1[i]<<" ";
cout <<endl;
for(int i=;i<;i++) cout <<vis2[i]<<" ";
cout <<endl;
for(int i=;i<;i++)
{
if(vis1[i]!=vis2[i])
{
flag=;
break;
}
}
if(!flag)
printf("The door cannot be opened.\n");
else
{
if(V.size()==)
{
if((out[V[]]-in[V[]])==(in[V[]]-out[V[]])&&abs(out[V[]]-in[V[]])==)
{
printf("Ordering is possible.\n");
}
else printf("The door cannot be opened.\n");
} else printf("The door cannot be opened.\n");
}
}
return ;
}

UVa10129(还没ac)各种re,o(╥﹏╥)o的更多相关文章

  1. 7-3 Path to Infinity(还没ac)

    留坑 #include<bits/stdc++.h> using namespace std; ; ; typedef long long ll; string s,t; ,tol2=,t ...

  2. 在各方面还没准备好的时候,大家一定要慎用border-box样式!!!!

    这几天,我被一个js问题困扰到癫狂了! 事情是这样的,我之前写了个功能非常复杂的纯jquery代码的前端gridview控件,实现了大量的功能和效果,在一些项目里也用得很好. 最近有个项目,样式做了调 ...

  3. 成功熬了四年还没死?一个IT屌丝创业者的深刻反思

    三个IT屌丝创业的故事 从前有三个屌丝,聚在一起做网络.提供免费的网络服务,砸锅卖铁,通宵达旦,除了卖肾,啥都做了.3年后终于做到了五百万用户.对于年轻人来说,能把五百万人玩弄于鼓掌之间,已经是很牛逼 ...

  4. php大力力 [013节]mySQL数据库乱码问题我还没解决

    <?php echo"测试<br>"; $sql_connection = mysql_connect("localhost","e ...

  5. 你好,C++(21)只要天还没黑,就一直在工地干活-4.3.1 while循环:只要…就一直…

    4.3  循环控制语句 在现实世界中,有这样一类现象: 只要油箱中的当前油量小于油箱容量100升,就一直往油箱中加油: 一直不断地为祖国辛勤工作,只要我还活着: 公司100000位员工,每个人的工资都 ...

  6. 谁还没遇上过NoClassDefFoundError咋地——浅谈字节码生成与热部署

    谁还没遇上过NoClassDefFoundError咋地--浅谈字节码生成与热部署 前言 在Java程序员的世界里,NoClassDefFoundError是一类相当令人厌恶的错误,因为这类错误通常非 ...

  7. noi2018还没想好记

    前面说点什么.. 没想到吧 嘴上说着不写的彩笔博主最后还是写了这篇东西.. Day -inf 在雅礼集训,打了四场模拟赛.. 真正说打得好的.. 也就那么一场 身体很差 心态很差 状态很差 虽然有书读 ...

  8. C-Lodop提示“网页还没下载完毕,请稍等一下再操作.”

    该提示在Lodop旧版本中是: 提示"WebSocket没准备好,点确定继续",提示“C-Lodop没准备好”,新版本修改了该提示的描述“网页还没下载完毕,请稍等一下再操作.”,让 ...

  9. web工程启动时,在一个类中延迟加载Bean,因为该Bean类可能还没被JVM加载

     问题描述: (1)javaWeb项目启动中,还没启动完成,在下面这个类加载另一个Bean类, (2)通过getBean方法获取到该Bean,可以获取到,不为null (3)但是,调用该Bean的方法 ...

随机推荐

  1. DbArithmeticExpression 参数必须具有数值通用类型问题的解决

    C#中LINQ to Entities进行日期比较,使用-运算符,比如: list.FirstOrDefault(s =>(DateTime.Now - s.Updated).TotalHour ...

  2. array_diff()

    array_diff()函数定义和用法 array_diff() 函数返回两个数组的差集数组.该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值. 在返回的数组中,键名保持不变. 提示 ...

  3. HTML、CSS(小笔记)

    这是我自己在学习html.css时觉得要记的东西太多总结一些较为常用的标签. HTML <p></p>段落标签 <hn></hn>标题标签n数值为1~6 ...

  4. 软件151 王楚博 struts

    一.下载Struts 建立web项目,给项目添加外部引用包(project-properties-Java Build Path-Add External Jars...).添加的包有:commons ...

  5. Python小札

    在Python中,等号(=)是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量如: a = 123 #a是整数 print(a) a = 'ABC' #a变为字 ...

  6. result type

    <result-types> <result-type name="chain" class="com.opensymphony.xwork2.Acti ...

  7. [Linux] Configure iSCSI on Linux5 (both target and initiator)

    ********************************************************************************Target************** ...

  8. shiro三连斩之第二斩(SSM)

    在SSM框架中使用shiro.环境 使用idea工具. 最主要的大概是配置文件如何配置吧. 1配置maven依赖 <?xml version="1.0" encoding=& ...

  9. java 方法的重载

    方法的重载:一个类中允许出现一个以上的同名方法,必须保证同名方法的参数列表不同    好处:方便阅读,优化程序设计    重载规则:重载方法名相同,但每个重载方法都必须有一个独一无二的参数类型列表,方 ...

  10. Flutter 卡在 package get 的解决办法

    今天在尝试使用Flutter 的时候,需要使用一个第三方库 修改了 pubspec 文件之后,AS 像往常一样提示 需要 package get. 之前都挺正常,不知道今天怎么了. 一直处在 Runn ...