世界那么大,我想去看看

872 词

题目描述

河南省实验中学的一名教师T的一封辞职信引发热评,辞职的理由仅有10个字:“世界那么大,我想去看看”。网友评这是“史上最具情怀的辞职信,没有之一”。经采访得知,作者为2004年7月入职河南省实验中学的一名女心理教师,已经任职11年之久。如此任性的辞职信,领导最后还真批准了。

现在假设世界上有n个城市(用$1~n$标识 ),有m个高铁线路$e_i$格式为$x_i$ $y_i$ ;   T的开始城市$f$, 结束城市$e$,她希望把所有的道路都不重复的访问一遍,如果可以做到就输出$YES$否则输出$NO$

输入

城市数$n$和铁路$m$
开始城市$f$和目的城市$e$
每条铁路的起止城市$x_i$ $y_i$

输出

如果可以从开始城市$f$,结束城市$e$,并把所有路径都不重复的访问一遍,就输出$YES$否则输出$NO$

样例输入

1
2
3
4
3 2
1 3
1 2
2 3

样例输出

1
YES

提示

路线没有方向性,但是两个城市之间可能有多个线路 数据保证图一定是联通的

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <map>
#include <iostream>
using namespace std;
int main() {
int x, y;
int n, m;
int f, e;
map<int, int> G;
int odd = 0;
cin >> n >> m;
cin >> f >> e;
while (m--) {
cin >> x >> y;
++G[x], ++G[y];
}
for (int i = 1; i <= n; i++)odd += (G[i] & 1);
if (f == e and odd == 0 or f != e and odd == 2 and (G[f] & 1) and (G[e] & 1))cout << "YES" << endl;
else cout << "NO" << endl;
return 0;
}