AcWing 1123. 铲雪车

原题链接
考察:欧拉路径
思路:
  主要是看懂这句:保证:铲雪车从起点一定可以到达任何街道。这句话的意思是说铲雪车在某条道路上.结合题意发现每个点的入度出度相等,构成欧拉路径.由此答案就是所有路径和*2.

Code

//每条边都是双向道,所以每个点入度 = 出度,存在欧拉回路
#include <iostream>
#include <cmath>
using namespace std;
typedef long long LL;
int sx,sy,dx,dy;
double Dist(int sx,int sy,int ex,int ey)
{
    return sqrt((LL)(sx-ex)*(sx-ex)+(LL)(sy-ey)*(sy-ey));
}
int main()
{
    scanf("%d%d",&sx,&sy);
    double sum = 0;
    while(scanf("%d%d%d%d",&sx,&sy,&dx,&dy)!=EOF)
       sum+=Dist(sx,sy,dx,dy)*2;
    double c = sum/1000/20;
    int h = c;
    int m = (c-h)*60+0.5;
    printf("%d:%02d\n",h,m);
    return 0;
}
posted @ 2021-07-15 16:20  acmloser  阅读(41)  评论(0编辑  收藏  举报