关于四舍五入(mxqz)
  • 板块学术版
  • 楼主guoshi
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/10 22:13
  • 上次更新2024/10/11 11:18:08
查看原帖
关于四舍五入(mxqz)
945842
guoshi楼主2024/10/10 22:13

p1257

#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int n,a,b;
double ans=1234565488;
struct node{
	double x,y,xx,yy;
}hx[N];
bool cmp(node a,node b){
	return a.xx<b.xx;
}
int main(){
	double c=sin(1),d=cos(1);//c=0.114,d=0.514
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a>>b;
		hx[i].x=a;
		hx[i].y=b;
		hx[i].xx=a*d-b*c;
		hx[i].yy=a*c+b*d;
	}
	sort(hx+1,hx+1+n,cmp);
	for(int i=1;i<=n;i++){
		double wx=hx[i].x,wy=hx[i].y;
		for(int j=i+1;j<=min(i+5,n);j++){
			double tx=hx[j].x,ty=hx[j].y;
			double d=sqrt((wx-tx)*(wx-tx)+(wy-ty)*(wy-ty));  //计算距离
			ans=min(d,ans);
		}
	}
//	printf("%.4lf",ans);
	printf("%.4lf",ans+0.00005);
}
//x'=xcosθ-ysinθ
//y'=xsinθ+ycosθ

为什么我加了四舍五入还错了,不加还A了 thanks

2024/10/10 22:13
加载中...