UVa10129(还没ac)各种re,o(╥﹏╥)o
这是一道欧拉回路题
欧拉回路:就是一个路径包括每条边恰好一次。
判断是否满足欧拉回路。首先是图是联通的。其次图中每个点的入度等于出度。如果是欧拉路径的话,满足奇点只能等于2或0,并且对于有向图,奇点的入度和出度差值为1和-1。
1 #include <iostream> 2 #include <cstring> 3 #include <string> 4 #include <map> 5 #include <set> 6 #include <algorithm> 7 #include <fstream> 8 #include <cstdio> 9 #include <cmath> 10 #include <stack> 11 #include <queue> 12 using namespace std; 13 const double Pi=3.14159265358979323846; 14 typedef long long ll; 15 const int MAXN=5000+5; 16 const int dx[5]={0,0,1,-1}; 17 const int dy[5]={1,-1,0,0}; 18 const int INF = 0x3f3f3f3f; 19 const int NINF = 0xc0c0c0c0; 20 int t; 21 int in[MAXN]; 22 int out[MAXN]; 23 int mp[MAXN][MAXN]; 24 bool vis1[MAXN]; 25 bool vis2[MAXN]; 26 27 bool dfs(int v,vector <int> S) 28 { 29 for(int i=0;i<S.size();i++) 30 { 31 if(!vis2[S[i]]&&mp[v][S[i]]) 32 { 33 vis2[S[i]]=1; 34 dfs(S[i],S); 35 } 36 } 37 } 38 int main() 39 { 40 cin>>t; 41 while(t--) 42 { 43 44 memset(vis1,0,sizeof(vis1)); 45 memset(vis2,0,sizeof(vis2)); 46 memset(in,0,sizeof(in)); 47 memset(out,0,sizeof(out)); 48 memset(mp,0,sizeof(mp)); 49 int n;scanf("%d",&n); 50 vector <int> S; 51 for(int i=1;i<=n;i++) 52 { 53 string str;cin>>str; 54 int len=str.size(); 55 int inc=str[0]-'a'; 56 int outc=str[len-1]-'a'; 57 mp[inc][outc]=1; 58 vis1[inc]=1;vis1[outc]=1; 59 in[inc]++; 60 out[outc]++; 61 } 62 for(int i=0;i<26;i++) if(vis1[i]) {S.push_back(i);} 63 64 vector <int> V; 65 for(int i=0;i<26;i++) 66 { 67 if(in[i]!=out[i]) V.push_back(i); 68 } 69 vis2[S[0]]=1; 70 dfs(S[0],S); 71 int flag=1; 72 for(int i=0;i<26;i++) cout <<vis1[i]<<" "; 73 cout <<endl; 74 for(int i=0;i<26;i++) cout <<vis2[i]<<" "; 75 cout <<endl; 76 for(int i=0;i<26;i++) 77 { 78 if(vis1[i]!=vis2[i]) 79 { 80 flag=0; 81 break; 82 } 83 } 84 if(!flag) 85 printf("The door cannot be opened.\n"); 86 else 87 { 88 if(V.size()==2) 89 { 90 if((out[V[0]]-in[V[0]])==(in[V[1]]-out[V[1]])&&abs(out[V[0]]-in[V[0]])==1) 91 { 92 printf("Ordering is possible.\n"); 93 } 94 else printf("The door cannot be opened.\n"); 95 } 96 97 else printf("The door cannot be opened.\n"); 98 } 99 } 100 return 0; 101 } 102 103
转载于:https://www.cnblogs.com/Msmw/p/10671874.html
UVa10129(还没ac)各种re,o(╥﹏╥)o相关推荐
- 支付宝的架构到底有多牛逼!还没看完我就跪了!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:uee.me/cFgQC 自 2008 年双 11 以来,在 ...
- 阿里大佬告诉你,支付宝的架构到底有多牛逼!还没看完我就跪了!
自 2008 年双 11 以来,在每年双 11 超大规模流量的冲击上,蚂蚁金服都会不断突破现有技术的极限. 2010 年双 11 的支付峰值为 2 万笔/分钟,到 2017 年双 11 时这个数字变为 ...
- 支付宝的架构到底有多牛逼?还没看完我就跪了!
自 2008 年双 11 以来,在每年双 11 超大规模流量的冲击上,蚂蚁金服都会不断突破现有技术的极限.2010 年双 11 的支付峰值为 2 万笔/分钟,到 2017 年双 11 时这个数字变为了 ...
- 支付宝架构有多牛?还没看完我就跪了...
点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...
- 第46届icpc 沈阳 J-Luggage Lock(思维 + 爆搜 / 队友玄学出法, 还没看懂)
第46届icpc 沈阳 J-Luggage Lock(思维 + 爆搜 / 队友玄学出法, 还没看懂) 题目来源:第46届icpc 沈阳 J-Luggage Lock 题意: 给出两个四位数的密码锁a和 ...
- 余承东安卓鸿蒙,鸿蒙亮点多,网友嗨了!华为P50还没定,余承东:最强大操作系统...
一生万物,万物归一,这就是鸿蒙. 6月2日晚间,华为正式发布HarmonyOS(鸿蒙)系统,及多款搭载HarmonyOS的新产品,包括HUAWEI Mate 40系列.P40系列.Mate X2.no ...
- 「屋漏偏逢连夜雨」,Log4j 漏洞还没忙完,新的又来了
整理 | 郑丽媛.禾木木 出品 | CSDN 这几天,Apache Log4j 2 绝对是众多 Java 程序员提到的高频词之一:由于 Apache Log4j 2 引发的严重安全漏洞,令一大批安全人 ...
- HTTP/3 来了 !HTTP/2 还没怎么用起来呢,先一起扫个盲吧!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | billpchen 来源 | 公众号「占小狼的博客」 2 ...
- 生活有时会有点苦涩——一位第六年还没发paper的PHD的自述
公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 来自 | 知乎 作者丨少十七 来源丨https://www.zhihu.com/questio ...
最新文章
- 利用ES6进行Promise封装总结
- ehcache 默认大小_简单的使用ehcache
- 天池-新闻推荐-多路召回
- ubuntu软件中心打不开Python error
- 数据抓取的艺术(二)
- Atitit 效率提升分析与解决方案 1. 三大模式 优化资源配置 通过降低难度 提升培训	1 1.1. 优化资源配置	1 1.2. 通过降低难度	1 1.3. 提升培训	1 2. 有效与立即可
- 分享一个轻量级免费UML绘图工具JUDE
- python--超市水果销售系统2.0
- 浅谈学习的深度和广度
- img 标签如何使图片成为圆形
- Java后端根据身份证号获取年龄
- RTOS内功修炼记(七)—— 内存管理
- 短视频SDK超级简单易用
- SSL、WSS和HTTPS之间的关系
- Quartz创建定时任务(入门)
- NeuralProphet之二:季节性(Seasonality)
- 得物还是“毒物”?鉴别唯品会京东商品为假,得物商品却不支持退换货
- docker 打包python 应用
- WikiLeaks 接触科技公司协商披露 CIA 机密如 0day 漏洞
- 分布式光纤测温火灾报警系统在向家坝某水电站的应用