文章目录

  • 题目分析
  • 题目链接

题目分析


来源:acwing

分析:
欧拉图: 1)连通 2)度都为偶数
半欧拉图:欧拉路径:2)连通2) 度为奇数的结点有两个,其他度都是偶数
非欧拉图:不是欧拉图和半欧拉图。
判连通使用并查集。

ac代码(并查集)

#include<bits/stdc++.h>
using namespace std;
const int N  =510;
int cnt[N];//每个点的度数
int n ,m;
bool g[N][N];//有边int p[N];//找根
int find(int x){if(p[x] != x) p[x] =find(p[x]);return p[x];
}int main(){cin >> n>> m;for(int i = 1; i<=n; i++) p[i] =i;while(m--){int a, b;cin >> a  >> b;cnt[a]++,cnt[b]++;p[find(a)] = find(b); //合并集合,如果已经是同一个集合会自动忽略}//统计度int one =0;  //统计度为奇数的结点个数for(int i = 1 ;i <=n; i++){if( cnt[i] &1 ) one ++;}//判连通性//用set保存根结点个数set<int> root;for(int i=1; i<=n; i++)root.insert(find(i));int num =root.size();cout<<cnt[1];for(int i =2; i<= n; i++) cout<<" "<<cnt[i];cout<<endl;if(num==1 &&one == 0) cout<<"Eulerian"<<endl;else if(num ==1&& one == 2) cout<<"Semi-Eulerian"<<endl;else cout<<"Non-Eulerian"<<endl;
}

wa1个点的代码(同样使用并查集)
下面的代码测试点4有问题
错误原因:统计错了度为偶数的结点个数,统计度为奇数的就没有问题了。也就是最后if、else有问题

#include<bits/stdc++.h>
using namespace std;
const int N  =510;
int cnt[N];//每个点的度数
int n ,m;
bool g[N][N];//有边int p[N];int find(int x){if(p[x] != x) p[x] =find(p[x]);return p[x];
}int main(){cin >> n>> m;for(int i = 1; i<=n; i++) p[i] =i;while(m--){int a, b;cin >> a  >> b;cnt[a]++,cnt[b]++;if(find(a)!=find(b))  p[find(a)] = find(b);}//统计度int one = 0 ,two =0;for(int i = 1 ;i <=n; i++){if(cnt[i]&1) one++;if(cnt[i] && cnt[i] % 2 ==0) two ++;}//判连通性//用set保存根结点个数set<int> root;for(int i=1; i<=n; i++)root.insert(find(i));int num =root.size();cout<<cnt[1];for(int i =2; i<= n; i++) cout<<" "<<cnt[i];cout<<endl;if(num==1 &&two == n) cout<<"Eulerian"<<endl;else if(num ==1&& two == n -2) cout<<"Semi-Eulerian"<<endl; //这里错了,不能保证one有2个,因为n可能是奇数else cout<<"Non-Eulerian"<<endl;
}

题目链接

PAT甲级1126 Eulerian Path

PAT甲级1126 Eulerian Path:[C++题解] 欧拉路径、并查集,测试点4有问题请进来相关推荐

  1. PAT甲级1029 Median:[C++题解]贪心、二路归并

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 如果直接排序,时间复杂度是O(nlogn),n=2∗105O(nlogn),\ n=2*10^5O(nlogn), n=2∗105会 ...

  2. PAT甲级1070 Mooncake:[C++题解]贪心

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 对单件从高到低排序. 需要注意的是总需要量d设成double,不要设成int. ac代码 #include<bits/stdc ...

  3. PAT甲级1008 Elevator:[C++题解]模拟

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:统计上升次数.下降次数:停留次数就是n.然后算数即可. ac代码 #include<bits/stdc++.h> usin ...

  4. PAT甲级1077 Kuchiguse:[C++题解]字符串、最长公共后缀

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 读入n个字符串s[n],以s[0]为基础找公共后缀.枚举后缀的长度,内层循环遍历其他字符串,判断是否后缀相等. 使用子串的函数sub ...

  5. PAT甲级1078 Hashing:[C++题解]哈希表、哈希表开放寻址法、二次探测法

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 本题建立hash表是利用只具有正增量的二次探测法来解决冲突, 索引 = 数 % 哈希表的大小 如果映射到同一个索引idx,hash表 ...

  6. PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数

    文章目录 题目分析 题目链接 题目分析 分析:求单源最短路,使用dijkstra()算法. 最短路的条数,和最短路中 人数最多的一条,输出最多人数. 本题点比较少,使用邻接矩阵d[N][N]来存. a ...

  7. PAT甲级1032 Sharing :[C++题解]链表

    文章目录 题目分析 题目链接 题目分析 思路:建立链表,这里使用数组.e [ ] 表示当前的数值,ne[ ]表示next指针. 求单词的公共后缀,就是求两个链表从头结点开始第一个公共的结点. 先遍历第 ...

  8. PAT甲级1010 Radix :[C++题解]进制位、秦九韶算法、二分(PAT通过率最低的一道题0.11)

    文章目录 题目分析 题目链接 题目分析 分析: 本题思路分两步. 第一步:先把给出数值和进制的数,暂定为N1,转换成10进制,即为target. 第二步: 判断一下N2在多少进制下是等于target的 ...

  9. PAT甲级1061 Dating:[C++题解]字符串处理(C语言格式控制牛逼!)

    文章目录 题目分析 题目链接 题目分析 题意重述:四个字符串,前两个字符串是一组:求 日期和小时: 后两个字符串是一组:求分钟. 对于前两个字符串: 需要统计两次,位置相同并且是相同的字符. 第一个符 ...

最新文章

  1. aka名字_她叫李清照,没有AKA,这是她的专访//关于“天赋”二字,她说……
  2. 安装mysql 5.5.14 报错
  3. 洞悉物联网发展1000问之物联网会产生哪些独角兽?机会在哪里?
  4. java实型常量用十六进制表示_Java 基本语法
  5. SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
  6. html 手机分辨率,移动端各种分辨率手机屏幕----适配方法集锦
  7. python文件例题_文件操作练习题
  8. 前端跨域问题解决方案
  9. java视频编辑怎么实现_OpenGL 实现视频编辑中的转场效果
  10. 求助:可以使用任何编程工具做成一个控件或组件,使得在VB中能调用并得到摄像头的参数及图片。...
  11. 刷机包提取hex和mbn方法_小米平板2刷lineage os与remix os及其体验
  12. .NET core ABP 获取远程IP地址
  13. Python自动化之操作PPT--更新模板数据,减少重复操作
  14. 前端开发常见的英语单词汇总
  15. MATLAB 插值函数运用 - interp1
  16. Spring——自动装配
  17. 张家界四日自助游攻略及心得
  18. 跨境电商国外消费者线上购物心理分析
  19. Science封面6连发:人类最完整的基因组测序完成!
  20. choco设置后续软件默认安装路径

热门文章

  1. java数据结构之递归算法
  2. HTML td 标签的 colspan 属性
  3. [swift] Async
  4. Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
  5. Python标准库10 多进程初步 (multiprocessing包)
  6. virtualbox ubuntu安装图解
  7. Delphi2010 DataSnap 学习(一)
  8. 用神经网络分类两条夹角为θ的直线
  9. java args包_Java Args.positive方法代码示例
  10. 游戏开发需要具备哪些技术_生鲜小程序需要具备哪些功能板块?生鲜小程序开发...