1126 Eulerian Path
题意:若图是连通图,且所有结点的度均为偶数,则称为Eulerian;若有且仅有两个结点的度为奇数,则称为semi-Eulerian。现给出一个图,要我们判断其是否为Eulerian,semi-Eulerian还是not-Eulerian。
思路:在数据输入的时候计算各个节点的度;在输出各个节点的度的同时记录度为奇数的结点个数;最后判断判断图是否连通。这种题不考察什么算法,关键要我们理解题意,往往都是很简单的!
代码:
#include <cstdio> #include <cstring> #include <vector> using namespace std; ; vector<int> Adj[maxn]; }; int vis[maxn]; int n,m,u,v; void dfs(int v) { vis[v]=true; for(auto u:Adj[v]) if(!vis[u]) dfs(u); } bool connected() { memset(vis,false,sizeof(vis)); ;//连通块的个数 ;v<=n;v++){ if(!vis[v]){ dfs(v); cnt++; } } ? false : true); } int main() { //freopen("pat.txt","r",stdin); scanf("%d%d",&n,&m); ;i<m;i++){ scanf("%d%d",&u,&v); Adj[u].push_back(v); Adj[v].push_back(u); degree[u]++; degree[v]++; } ; ;v<=n;v++){ !=) oddCnt++; printf("%d",degree[v]); if(v==n) printf("\n"); else printf(" "); } bool flag=connected(); ) printf("Eulerian\n"); ) printf("Semi-Eulerian\n"); else printf("Non-Eulerian\n"); ; }
1126 Eulerian Path的更多相关文章
- 1126 Eulerian Path (25 分)
1126 Eulerian Path (25 分) In graph theory, an Eulerian path is a path in a graph which visits every ...
- PAT甲级 1126. Eulerian Path (25)
1126. Eulerian Path (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue In grap ...
- PAT 1126 Eulerian Path[欧拉路][比较]
1126 Eulerian Path (25 分) In graph theory, an Eulerian path is a path in a graph which visits every ...
- PAT甲级——1126 Eulerian Path
我是先在CSDN上发布的这篇文章:https://blog.csdn.net/weixin_44385565/article/details/89155050 1126 Eulerian Path ( ...
- PAT 甲级 1126 Eulerian Path
https://pintia.cn/problem-sets/994805342720868352/problems/994805349851185152 In graph theory, an Eu ...
- PAT 1126 Eulerian Path
In graph theory, an Eulerian path is a path in a graph which visits every edge exactly once. Similar ...
- 1126. Eulerian Path (25)
In graph theory, an Eulerian path is a path in a graph which visits every edge exactly once. Similar ...
- PAT甲题题解-1126. Eulerian Path (25)-欧拉回路+并查集判断图的连通性
题目已经告诉如何判断欧拉回路了,剩下的有一点要注意,可能图本身并不连通. 所以这里用并查集来判断图的联通性. #include <iostream> #include <cstdio ...
- PTA 1126 Eulerian Path
无向连通图,输出每个顶点的度并判断Eulerian.Semi-Eulerian和Non-Eulerian这3种情况,我们直接记录每个点所连接的点,这样直接得到它的度,然后利用深度优先和visit数组来 ...
随机推荐
- D3.js学习笔记(四)—— 使用SVG坐标空间
目标 在这一章,你将要使用D3.js基于一些数据把SVG元素添加到你想要的坐标位置上. 我们的目标就是使用下面的数据集: var spaceCircles = [30,70,110]; 并使用D3.j ...
- BusyIndicator using MVVM 忙碌状态指示器的的实现
ViewModel 视图模型 public abstract class ViewModelBase : INotifyPropertyChanged { private bool isbusy; p ...
- require.js资料
1.http://www.ruanyifeng.com/blog/2012/11/require_js.html?bsh_bid=230697246 (require.js的用法) 2.http:// ...
- MVC,MVP 和 MVVM 的图示,区别
作者: 阮一峰 日期: 2015年2月 1日 复杂的软件必须有清晰合理的架构,否则无法开发和维护. MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身 ...
- git一个系列教程
https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%8 ...
- 【spark】RDD操作
RDD操作分为转换操作和行动操作. 对于RDD而言,每一次的转化操作都会产生不同的RDD,供一个操作使用. 我们每次转换得到的RDD是惰性求值的 也就是说,整个转换过程并不是会真正的去计算,而是只记录 ...
- Caffe初试
1.基本概念 Caffe是一个比较流行的神经网络框架,它支持C++.Python等语言,容易上手,但是代码貌似不怎么好读,等有空我...;) 2.Windows10下的部署 我把我Windows下的编 ...
- Intent Flag启动模式P203
Activity启动模式:点此查看 Intent intent = new Intent(); /** * Intent.FLAG_ACTIVITY_NEW_TASK * 使用一个新的Task来启动一 ...
- LeetCode OJ:Search Insert Position(查找插入位置)
Given a sorted array and a target value, return the index if the target is found. If not, return the ...
- OC-文件操作
一.归档NSKeyedArchiver========================== 1.第一种方式:存储一种数据.===================== //归档 //第一种写法 //对象 ...