【洛谷刷题记】(2)P1250~P1259

来源:互联网 发布:alexnet网络理解 编辑:程序博客网 时间:2024/04/28 01:58

这个系列没有按照题目编号而是随便写的
————————————华丽的分割线————————————
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

0 0
原创粉丝点击