评测记录:

代码:
#include<bits/stdc++.h>
#define MAXN 1002
#define MAXM 60002
using namespace std;
int n;
double nx,ny,nl;
struct object
{
int x,y,w;
}a[MAXN];
inline void move(double lenth)
{
double dx=0,dy=0;
for(int i=1;i<=n;i++)
{
double tp=sqrt((a[i].x-nx)*(a[i].x-nx)+(a[i].y-ny)*(a[i].y-ny));
if(tp==0)continue;
dx+=a[i].w*(a[i].x-nx)/tp;
dy+=a[i].w*(a[i].y-ny)/tp;
}
double tp=sqrt(dx*dx+dy*dy);
nx+=lenth/tp*dx;
ny+=lenth/tp*dy;
return;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].x>>a[i].y>>a[i].w;
nx=a[1].x,ny=a[1].y;
nl=10000;
while(nl>1e-4)
{
move(nl);
nl*=0.9;
}
cout<<fixed<<setprecision(3)<<nx;
putchar(' ');
cout<<fixed<<setprecision(3)<<ny;
return 0;
}