洪水(flood)
洪水(flood)
题目背景
Awson是某国际学校信竞组的一只菜鸡。今年,该市发生了千年难遇的洪水。被监禁在学校的Awson不甘怠堕,想将自己投入到公益服务事业中去。这天,他偷了H老师的小电驴,偷偷地溜出校。
题目描述
他观察了一下整个城市的概况,发现学校校门所在地的坐标为(X,Y)。城市共有不超过100条街道,知道每条街道的起止点坐标,街道是笔直双向的,每个方向一个车道。并且确保街道是相互连通的。他每第一次走过一侧车道,满目疮夷,生灵涂炭,百感交集:或触景生情,感慨大自然的残酷,悠悠长叹;或豪情壮志,抒发自己满腔热血,气势豪迈。导致他车速只有20km/h。若这条路的这侧他不是第一次走,车速将提高到50km/h。他可以在任意交叉口、或任何街道的末尾任意转向,包括转U型弯,并且不会耗时。他想知道游历所有街道,并且回到学校最短耗时,精确到分钟。
输入输出格式
输入格式:
输入数据多行。
第1行两个整数X,Y
接下来每行四个整数代表街道起止点坐标,单位米,不超过100行,文件末尾以’EOF’结束。
输出格式:
共1行,两个整数,代表时间,中间用’:’(半角字符,不含引号)隔开。
输入输出样例
0 0
0 0 10000 10000
5000 -10000 5000 10000
5000 10000 10000 10000
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的速度即可。注意单位的换算。
洪水(flood)的更多相关文章
- [Awson原创]洪水(flood)
Description Awson是某国际学校信竞组的一只菜鸡.今年,该市发生了千年难遇的洪水.被监禁在学校的Awson不甘怠堕,想将自己投入到公益服务事业中去.这天,他偷了H老师的小电驴,偷偷地溜出 ...
- TCP洪水攻击(SYN Flood)的诊断和处理
TCP洪水攻击(SYN Flood)的诊断和处理 SYN Flood介绍 前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood. SYN Flood是当前最流行的DoS(拒 ...
- 扯谈网络编程之Tcp SYN flood洪水攻击
简单介绍 TCP协议要经过三次握手才干建立连接: (from wiki) 于是出现了对于握手过程进行的攻击.攻击者发送大量的SYN包,server回应(SYN+ACK)包,可是攻击者不回应ACK包,这 ...
- [LeetCode] Flood Fill 洪水填充
An image is represented by a 2-D array of integers, each integer representing the pixel value of the ...
- LeetCode刷题 Flood Fill 洪水填充问题
An image is represented by a 2-D array of integers,each integers,each integer respresenting the sta ...
- TCP SYN flood洪水攻击原理和防御破解
简介 TCP协议要经过三次握手才能建立连接: 于是出现了对于握手过程进行的攻击.攻击者发送大量的SYN包,服务器回应(SYN+ACK)包,但是攻击者不回应ACK包,这样的话,服务器不知道(SYN+AC ...
- BZOJ1804: [Ioi2007]Flood 洪水
把点按坐标排序,每次找出最小的点,一定在最外层,再顺着把最外层的边删掉,经过了两次的边不会被冲毁. 其实不难写,但是写了很久. #include<bits/stdc++.h> #defin ...
- 洛谷 P4646 - [IOI2007] flood 洪水(拆点+bfs)
题面传送门 一道挺有意思的题(?) orz djq yyds %%%%%%%%%%%%%%%%%% 首先一个很直观的想法是将每个房间看作一个节点,在有墙的房间旁边连边权为 \(1\) 的边然后 bfs ...
- 浅谈iptables防SYN Flood攻击和CC攻击
------------------------本文为自己实践所总结,概念性的东西不全,这里粗劣提下而已,网上很多,本文主要说下目前较流行的syn洪水攻击和cc攻击------------------ ...
随机推荐
- 集训Day8
旧试题Day2... bzoj3436 有若干个集合和一些信息 信息有3种: I.集合A比集合B至少多C个元素 II.集合A比集合B至多多C个元素 III.集合A和集合B元素一样多 求这些信息是否有矛 ...
- bzoj2309 CTSC2011 字符串重排
题意: 给定n个字符串S1,S2,S3,...,Sn,把它们排序 设排序结果为Sp1,Sp2,Sp3,...,Spn 现在给定q个任务,每个任务的格式都是"要求在排序结果中Sa恰好在Sb前一 ...
- C++ ADO连接
#include "stdafx.h" #include <iostream> #include <iomanip> #include "wind ...
- XAML 编码规范 (思考)
1.尽量和Blend统一 2.兄弟元素之间需要空行 4.父子元素之间不需要空格 3.每行尽量单个属性 5.Grid的Row和Column定义不需要空行 6.Style里的Setter中不需要单行一个属 ...
- sql基础内容2
-- day16课程内容 --CREATE DATABASE day16;USE day16; -- *************一.数据约束********************------ 1.1 ...
- shell中利用ftp 上传文件夹功能
我们知道ftp 只能用来上传或者下载文件,一次单个或者多个,怎么实现将文件夹的上传和下载呢? 可以利用先在remote ip上建立一个相同的文件夹目录,然后将文件放到各自的目录中去 1.循环遍历出要上 ...
- Java中的数组和方法
3.1 数组的定义和使用 数组(Array)是用来存储一组相同数据类型数据的集合.数组中的每个数据称为一个元素(element),数组可以分为一维数组,二维数组和多维数组.我们 主要讲解一维数组和二维 ...
- 【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...
- Win10下Anaconda中安装Tensorflow
1.安装Anaconda 下载:https://repo.continuum.io/archive/,我用的是Python 3.5 ,64位系统,所以选择的版本是Anaconda2-4.2.0-Win ...
- [poj3417]Network(LCA+树形dp)
题意:给出一棵无根树,然后下面再给出m条边,把这m条边连上,每次你去两条边,规定一条是树边,一条是新边,问有多少种方案能使树断裂. 解题关键:边权转化为点权,记录每条边被环覆盖的次数,通过val[a] ...