建设企业品牌网站,特产网站建设,wordpress分类随机文章,无法进入建设银行网站活动 - AcWing
随着白天越来越短夜晚越来越长#xff0c;我们不得不考虑铲雪问题了。
整个城市所有的道路都是双向车道,道路的两个方向均需要铲雪。因为城市预算的削减#xff0c;整个城市只有 1 辆铲雪车。
铲雪车只能把它开过的地方#xff08;车道#xff09;的雪铲干…活动 - AcWing
随着白天越来越短夜晚越来越长我们不得不考虑铲雪问题了。
整个城市所有的道路都是双向车道,道路的两个方向均需要铲雪。因为城市预算的削减整个城市只有 1 辆铲雪车。
铲雪车只能把它开过的地方车道的雪铲干净无论哪儿有雪铲雪车都得从停放的地方出发游历整个城市的街道。
现在的问题是最少要花多少时间去铲掉所有道路上的雪呢
输入格式
输入数据的第 1 行表示铲雪车的停放坐标 (x,y)x,y 为整数单位为米。
下面最多有4000行每行给出了一条街道的起点坐标和终点坐标坐标均为整数所有街道都是笔直的且都是双向车道。
铲雪车可以在任意交叉口、或任何街道的末尾任意转向包括转 U 型弯。
铲雪车铲雪时前进速度为 20 千米/时不铲雪时前进速度为 50 千米/时。
保证铲雪车从起点一定可以到达任何街道。
输出格式
输出铲掉所有街道上的雪并且返回出发点的最短时间精确到分钟四舍五入到整数。
输出格式为”hours:minutes”minutes不足两位数时需要补前导零。 具体格式参照样例。
数据范围
−106≤x,y≤106 所有位置坐标绝对值不超过 106
输入样例
0 0
0 0 10000 10000
5000 -10000 5000 10000
5000 10000 10000 10000输出样例
3:55样例解释
输出结果表示共需3小时55分钟。
解析
一、在无向图中所有边都是连通的
1存在欧拉路径的充分必要条件度数为奇数的点只能有0或2。
2存在欧拉回路起点和终点相同的充分必要条件度数为奇数的点只能有0个。
二、在有向图中所有边都是连通的
1存在欧拉路径的充分必要条件要么所有点的入度均等于入度要么除了两个点之外其余所有的点的出度等于入度剩余的两个点一个满足出度比入度多1起点另一个满足入度比出度多1终点。
2存在欧拉回路起点和终点相同的充分必要条件所有点的入度均等于出度。
欧拉回路的dfs用边来判重不能用点。
本题根据存在欧拉回路起点和终点相同的充分必要条件易知一定存在欧拉回路所以答案就是街道距离乘2除以 20 千米/时。
#includeiostream
#includestring
#includecstring
#includecmath
#includectime
#includealgorithm
#includeutility
#includestack
#includequeue
#includevector
#includeset
#includemath.h
#includemap
#includesstream
#includedeque
#includeunordered_map
#includeunordered_set
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pairint, int PII;
const int N 2e2 5, M 2e5 5, INF 0x3f3f3f3f;int main() {double x1, y1, x2, y2;cin x1 y1;double sum 0;;while (cin x1 y1 x2 y2) {double dx x1 - x2;double dy y1 - y2;sum sqrt(dx * dx dy * dy)*2;}int minu round(sum / 1000 / 20 * 60);int h minu / 60;minu % 60;printf(%d:%02d\n, h , minu);return 0;
}