【洛谷刷題記】(2)P1250~P1259
阿新 • • 發佈:2019-01-29
這個系列沒有按照題目編號而是隨便寫的
————————————華麗的分割線————————————
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