这个系列没有按照题目编号而是随便写的
————————————华丽的分割线————————————
P1250:
木有题解
————————————华丽的分割线————————————
P1251:
木有题解
————————————华丽的分割线————————————
P1252:
木有题解
————————————华丽的分割线————————————
P1253:
木有题解
————————————华丽的分割线————————————
P1254:
木有题解
————————————华丽的分割线————————————
P1255:
木有题解
————————————华丽的分割线————————————
P1256:
木有题解
————————————华丽的分割线————————————
P1257:
这道题一看以为要优化暴力结果。。。
想到了快的方法WA了,改成正确的又T了,空间换时间又MLE了。。。
结果发现正解就是暴力???(貌似要优化一下)
正解:每输入一个坐标就把之前的对一遍更新答案
没错多么短
不过计算距离的语句太长了以至于要专门搞个函数qwq
代码:
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <cstring>
#include <ctime>
#include <algorithm>
#include <queue>
#include <map>
#define ci const int
#define ri register int
#define ll long long
#define reg register
#define boom return
#define cmax(a,b) (a)>(b)?(a):(b)
#define cmin(a,b) (a)<(b)?(a):(b)
#define For(i,a,b) for(i=a;i<b;i++)
using namespace std;
ci MAXN=10086;
int n;
double a[MAXN][2],ans=1.79769e+307;
double w(int i,int j,int k)
{
return (a[i][k]-a[j][k])*(a[i][k]-a[j][k]);
}
int main()
{
int i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf%lf",&a[i][0],&a[i][1]);
for(j=1;j<i;j++)ans=cmin(ans,w(i,j,0)+w(i,j,1));
}
printf("%0.4lf",sqrt(ans));
boom 0;
}
//没有什么是两个巴掌不能解决的,如果有就再来两个巴掌
————————————华丽的分割线————————————
P1258:
木有题解
————————————华丽的分割线————————————
P1259:
木有题解
————————————华丽的分割线————————————
未完待续qwq