洪水(flood)

题目背景

Awson是某国际学校信竞组的一只菜鸡。今年,该市发生了千年难遇的洪水。被监禁在学校的Awson不甘怠堕,想将自己投入到公益服务事业中去。这天,他偷了H老师的小电驴,偷偷地溜出校。

题目描述

他观察了一下整个城市的概况,发现学校校门所在地的坐标为(X,Y)。城市共有不超过100条街道,知道每条街道的起止点坐标,街道是笔直双向的,每个方向一个车道。并且确保街道是相互连通的。他每第一次走过一侧车道,满目疮夷,生灵涂炭,百感交集:或触景生情,感慨大自然的残酷,悠悠长叹;或豪情壮志,抒发自己满腔热血,气势豪迈。导致他车速只有20km/h。若这条路的这侧他不是第一次走,车速将提高到50km/h。他可以在任意交叉口、或任何街道的末尾任意转向,包括转U型弯,并且不会耗时。他想知道游历所有街道,并且回到学校最短耗时,精确到分钟。

输入输出格式

输入格式:

输入数据多行。

第1行两个整数X,Y

接下来每行四个整数代表街道起止点坐标,单位米,不超过100行,文件末尾以’EOF’结束。

输出格式:

共1行,两个整数,代表时间,中间用’:’(半角字符,不含引号)隔开。

输入输出样例

输入样例#1:

0 0
0 0 10000 10000
5000 -10000 5000 10000
5000 10000 10000 10000
输出样例#1:

3:55

说明

样例解释:

共3小时55分钟走完全城。

数据规模:

所有坐标可能为负,但保证均为整数,且在长整形(C++中的int)范围内。

题解:

我们考虑到图无环,所以所有街道的两侧都是要走的。

这时我们将每条街道拆成两条单侧道,发现所有节点的度均为偶数,这个图就是一个欧拉图,从任意一个节点都可以不重复地走过所有的边。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long lol;
double x,y,a,b,c,d,ans;
int main()
{
scanf("%lf%lf",&x,&y);
while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF)
{
a/=;b/=;c/=;d/=;
ans+=sqrt((d-b)*(d-b)+(c-a)*(c-a));
}
ans=ans/;
cout<<(int)ans<<':';
ans-=(int)ans;
int a=(int)(*ans+0.5);
if(a<)cout<<''<<a;
else cout<<a;
return ;
}

我们只需统计所有街道的长度,由于是双向车道,再将长度×2。最后除以20km/h的速度即可。注意单位的换算。

最新文章

  1. SYSDBA身份登陆时可以修改其他用户的密码
  2. angular源码分析:angular的整个加载流程
  3. outlook备份及恢复
  4. C语言之共用体
  5. SDK,monkey 浅谈
  6. 安装SQL Server2008,要重启机器,解决办法
  7. PHP 设计模式 笔记与总结(5)PHP 魔术方法的使用
  8. 为什么我的联想打印机M7450F换完墨粉之后打印机显示请更换墨粉盒?这是我的墨盒第一次灌粉&#183;、
  9. Tomcat插件与Jetty插件在MyEclipse中的配置
  10. WPF 多项选择下拉菜单
  11. 接口、抽象类、方法复写、类Equals方法重写
  12. kindeditor更改图片上传时网络图片的路径
  13. js 控制光标到指定位置
  14. input 选择框改变背景小技巧
  15. sql语句的各种模糊查询语句
  16. 如何高效使用Google
  17. Android学习——自定义控件(二)
  18. LOJ6388:[THUPC2018]赛艇——题解
  19. tornado 模版
  20. 深入理解理解 JavaScript 的 async/await

热门文章

  1. ACM学习历程——HDU1331 Function Run Fun(锻炼多维dp的打表)
  2. bzoj 4278 Tasowanie —— 后缀数组
  3. ZigBee简介
  4. appium连真机问题
  5. 正则表达式&amp;nbsp;LINUX
  6. Primer回顾 标准库类型
  7. Hashtable源码剖析
  8. HDU 5547 Sudoku (暴力)
  9. 字节码操作-Javaassist
  10. Codeforces Round #401 (Div. 2)【A,B,C,D】