gym/102059

待通过:A、D、G、J、M

已补过:E

E:电路题,判断一个图是不是简单电路。不需要特殊的技巧,利用set存图,把度数为2的点都删掉,融入到一条边上即可。

  1. #include <algorithm>
  2. #include <iterator>
  3. #include <iostream>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <iomanip>
  7. #include <bitset>
  8. #include <cctype>
  9. #include <cstdio>
  10. #include <string>
  11. #include <vector>
  12. #include <stack>
  13. #include <cmath>
  14. #include <queue>
  15. #include <list>
  16. #include <map>
  17. #include <set>
  18. #include <cassert>
  19.  
  20. using namespace std;
  21. #define lson (l , mid , rt << 1)
  22. #define rson (mid + 1 , r , rt << 1 | 1)
  23. #define debug(x) cerr << #x << " = " << x << "\n";
  24. #define pb push_back
  25. #define pq priority_queue
  26.  
  27. typedef long long ll;
  28. typedef unsigned long long ull;
  29. //typedef __int128 bll;
  30. typedef pair<ll ,ll > pll;
  31. typedef pair<int ,int > pii;
  32. typedef pair<int,pii> p3;
  33.  
  34. //priority_queue<int> q;//这是一个大根堆q
  35. //priority_queue<int,vector<int>,greater<int> >q;//这是一个小根堆q
  36. #define fi first
  37. #define se second
  38. //#define endl '\n'
  39.  
  40. #define OKC ios::sync_with_stdio(false);cin.tie(0)
  41. #define FT(A,B,C) for(int A=B;A <= C;++A) //用来压行
  42. #define REP(i , j , k) for(int i = j ; i < k ; ++i)
  43. #define max3(a,b,c) max(max(a,b), c);
  44. #define min3(a,b,c) min(min(a,b), c);
  45. //priority_queue<int ,vector<int>, greater<int> >que;
  46.  
  47. const ll mos = 0x7FFFFFFF; //
  48. const ll nmos = 0x80000000; //-2147483648
  49. const int inf = 0x3f3f3f3f;
  50. const ll inff = 0x3f3f3f3f3f3f3f3f; //
  51. const int mod = ;
  52. const double esp = 1e-;
  53. const double PI=acos(-1.0);
  54. const double PHI=0.61803399; //黄金分割点
  55. const double tPHI=0.38196601;
  56.  
  57. template<typename T>
  58. inline T read(T&x){
  59. x=;int f=;char ch=getchar();
  60. while (ch<''||ch>'') f|=(ch=='-'),ch=getchar();
  61. while (ch>=''&&ch<='') x=x*+ch-'',ch=getchar();
  62. return x=f?-x:x;
  63. }
  64. /*-----------------------showtime----------------------*/
  65.  
  66. const int maxn = 1e5+;
  67. set<int>mp[maxn];
  68. queue<int>que;
  69. int vis[maxn];
  70. int main(){
  71. int n,m;
  72. scanf("%d%d", &n, &m);
  73. for(int i=; i<=m; i++){
  74. int u,v;
  75. scanf("%d%d", &u, &v);
  76. mp[u].insert(v);
  77. mp[v].insert(u);
  78. }
  79.  
  80. for(int i=; i<=n; i++){
  81. if(mp[i].size() == ) que.push(i);
  82. }
  83. while(!que.empty()){
  84.  
  85. int u = que.front(); que.pop();
  86. if(mp[u].size() != ) continue;
  87. int s = *mp[u].begin(); mp[u].erase(s);
  88. int x = *mp[u].begin(); mp[u].erase(x);
  89. mp[s].erase(u);
  90. mp[x].erase(u);
  91. mp[s].insert(x);
  92. mp[x].insert(s);
  93.  
  94. if(mp[s].size() == ) que.push(s);
  95. if(mp[x].size() == ) que.push(x);
  96. }
  97. int flag = ,cnt = ;
  98. for(int i=; i<=n; i++){
  99. if(mp[i].size() >= ) flag = ;
  100. else if(mp[i].size() == ) cnt ++;
  101. }
  102. //debug(cnt);
  103. if(flag && cnt == ) puts("Yes");
  104. else puts("No");
  105. return ;
  106. }

E

gym/102059 E的更多相关文章

  1. 【GYM 102059】2018-2019 XIX Open Cup, Grand Prix of Korea

    vp了一场gym,我又开心地划水了. A. Coloring Roads 题意:给定一棵树,树边一开始都是无色的,每次操作可以把一个点到根的路径染成某个颜色,每次询问当前树上出现过某个次数的颜色种数. ...

  2. Gym.102059: 2018-2019 XIX Open Cup, Grand Prix of Korea(寒假gym自训第一场)

    整体来说,这一场的质量比较高,但是题意也有些难懂. E.Electronic Circuit 题意:  给你N个点,M根线,问它是否是一个合法的电路. 思路:  一个合法的电路,经过一些串联并联关系, ...

  3. gym/102059/problem/I. Game on Plane SG函数做博弈

    传送门: 题意: 给定一个正n边形的点.双方轮流连点成线,要求所画的线不能与之前的线相交.当某个人连成一个回路,这个人就输了.问先手必胜还是后手必胜. 思路: SG函数,因为一条线相当于把图劈成了两半 ...

  4. ACM: Gym 101047M Removing coins in Kem Kadrãn - 暴力

     Gym 101047M Removing coins in Kem Kadrãn Time Limit:2000MS     Memory Limit:65536KB     64bit IO Fo ...

  5. ACM: Gym 101047K Training with Phuket's larvae - 思维题

     Gym 101047K Training with Phuket's larvae Time Limit:2000MS     Memory Limit:65536KB     64bit IO F ...

  6. ACM: Gym 101047E Escape from Ayutthaya - BFS

    Gym 101047E Escape from Ayutthaya Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I6 ...

  7. ACM: Gym 101047B Renzo and the palindromic decoration - 手速题

     Gym 101047B  Renzo and the palindromic decoration Time Limit:2000MS     Memory Limit:65536KB     64 ...

  8. Gym 101102J---Divisible Numbers(反推技巧题)

    题目链接 http://codeforces.com/gym/101102/problem/J Description standard input/output You are given an a ...

  9. Gym 100917J---Judgement(01背包+bitset)

    题目链接 http://codeforces.com/gym/100917/problem/J Description standard input/outputStatements The jury ...

随机推荐

  1. 电信光猫带路由器(F452)的虚拟服务器端口映射

    现在电信宽带的光猫一般都自带路由器功能,为了方便运营商管理网络用户,电信公司插入了企业局域网,网络用户的光猫路由器都是这个局域网的节点.用户家里的电脑在网络中的结构位置一般如下所示: 互联网(公网)= ...

  2. iDevice取证的一大突破

    近日手机取证领域传出令人震撼的消息,知名取证大厂Cellebrite宣称可破解任何版本,任何机型的iDevice,连最新的iPhone X也逃不过. 若真属实,代表着iOS的取证又重现光明.只是不确定 ...

  3. Unity经典游戏教程之:是男人就下100层

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  4. 同时运行多个 tomcat 修改端口

    修改 tomcat 配置文件,路径: tomcat_home/conf/server.xml  1.HTTP端口,默认8080,如下改为8081 <Connector connectionTim ...

  5. Appium+python自动化(二十九)- 模拟手指在手机上多线多点作战 - 多点触控(超详解)

    简介 在网页中我们经常使用缩放操作来便利的查看具体的信息,在appium中使用MultiAction多点触控的类来实现.MultiAction是多点触控的类,可以模拟用户多点操作.主要包含加载add( ...

  6. C# Quartz结合控制台实现定时任务

    前言: Quartz一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,基于C#写成,可应用于winform.asp.net.asp.net core应用中.提 ...

  7. 为什么我们不用JIRA

    很多人问我,缺陷管理工具,为什么不用jira?而去自己造轮子开发一款bug记录系统 缄默如我,原因众多.如果只是3-5分钟就能讲的请的时候,我会先列出什么糟点呢? 1. 收费,一个人一个月的费用差不多 ...

  8. pdf.js跨域加载文件

    pdf.js一个基于Html的工具类,熟悉pdf.js的朋友们很清楚,pdf.js帮助我们做了很多事.尤其金融类网站会产生很多的报表.需要在线预览.pdf.js绝对是我们的首选 本地预览 在pdf.j ...

  9. Kafka集群配置---Windows版

    Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,Kafka对消息进行保存时是通过tipic进行分组的.今天我们仅实现Kafka集群的配置.理论的抽空在聊 前言 最近研究kafka,发现网上很多 ...

  10. Asp.Net Core WebAPI+PostgreSQL部署在Docker中

     PostgreSQL是一个功能强大的开源数据库系统.它支持了大多数的SQL:2008标准的数据类型,包括整型.数值值.布尔型.字节型.字符型.日期型.时间间隔型和时间型,它也支持存储二进制的大对像, ...