#include <iostream>
#include<bits/stdc++.h>
#include<cmath>
using namespace std;
int main() {
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
double de,dm;
de=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
dm=fabs(x1-x2)+fabs(y1-y2);
cout<<fixed<<setprecision(6)<<fabs(de-dm);
}
一开始我是没过的,因为最后一句我是这么写的:
cout<<fabs(de-dm);
直接输出了反而不行,就是因为精度,题目中说了不超过16-6才能被接受,所以这道题必须非常注意输出的精度(其实答案都是对的,就是精度不同所以不让你过罢辽)

京公网安备 11010502036488号