学习随笔——洛谷题目P1636解答

摘要:欧拉图的应用。

题目原地址如下:https://www.luogu.com.cn/problem/P1636

题目截图如下:

学习随笔——洛谷题目P1636解答

一笔画问题,考察欧拉回路的定义,即所有节点的入度出度的和除了入点与出点都为偶数即可满足欧拉回路的性质。我们为方便分析可加入一条线,发现加入一条边后会改变两个点的度数和,只需寻找奇数点的个数再除2即可。然后需要注意的是我们需要特判”一笔画”情况。

代码如下:

1 #include
 2 using namespace std;
 3 int rem[10000];
 4 int n,m;
 5 int main(){
 6     cin>>n>>m;
 7     for (int i=1;i){
 8         int u,v;
 9         cin>>u>>v;
10         rem[u]++;
11         rem[v]++;
12     }
13     int ans=0;
14     for (int i=1;i){
15         if (rem[i]%2==1)
16             ans++;
17     }
18     if (ans==0)//特判
19         cout<<1;
20     else
21         cout<2;
22     return 0;
23 }

Original: https://www.cnblogs.com/johnsonstar/p/16637723.html
Author: Johnson-Hugo
Title: 学习随笔——洛谷题目P1636解答

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583971/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球