洛谷五月月赛【LGR-O47】划水记

虽然月赛有些爆炸,但我永远资瓷洛谷!


因为去接水,所以迟到了十几分钟,然后洛谷首页就打不开了……

通过洛谷题库间接打开了比赛,看了看\(TA\),WTF?博弈论?再仔细读了读题,嗯,判断奇偶性,不过要注意一下会爆\(\rm{int}\)\(1min\)不到,打出正解,赶紧跑去提交,woc怎么提交不了?应该是人太多了,我还是先去做\(TB\)吧,过一会在提交。

\(TB\)\(TA\)完全不在一个层次上啊,这题怎么做啊,完全没有思路……我还是先把\(TA\)提交了吧,至少不会爆零。然后还是提交不上\(\rm{orz}\),然后我又去刚\(TB\),顺便把其他题都大致看了一遍,嗯,这更坚定了我刚\(TB\)的决心因为这几道题太毒瘤了,我果然还是太菜了。

此时大约过去了半个小时,\(TB\)还是没有思路,前去提交\(TA\)时,woc比赛首页怎么成了\(502{~~}Bad{~}Gateway\)?幸亏有好心人在讨论里发了题目链接,成功提交\(TA\),然而只有32分是什么鬼?算了,反正不至于爆零了。

又过了一会,幸得\(\color{skyblue}{\_rqy\;dalao}\)指点,得知\(TB\)正解——随机撒点,第一次写正解用\(rand\)的题耶,\(\color{gold}{QwQ}\)。提交后一遍AC,rqy太强辣 !在这放一下代码吧

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<ctime>
using namespace std;
double x[11],y[11],jl;
double f(double x1,double y1,double x2,double y2)
{
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
    int n,l; cin>>n>>l;
    for(int i=1;i<=n;i++)
      cin>>x[i]>>y[i];
    jl=(double)l/n;
    int tot=0;
    srand(time(0));
    while(1)
    {
        tot++;
        int flag=0;
        //此题精华——rand()
        double nx=(double)(rand()%(l*1000))/1000;
        double ny=(double)(rand()%(l*1000))/1000;

        for(int i=1;i<=n;i++)
          if(f(nx,ny,x[i],y[i])>jl)
             flag++;
        if(flag==n)
        {
            printf("%.3lf %.3lf",nx,ny);
            return 0;
        }
        if(tot>1000*1000)
        {
            cout<<"GG";
            return 0;
        }  
          
    }
    return 0;
}

之后比赛一直爆炸+最后三道题一点不会,也没心情继续了……

回宿舍前\(10min\),突然发现比赛恢复了,于是我兴奋地锁了\(TA\),想最后\(\tt{hack}\)一波,然后悲哀地发现——我并不会\(\tt{hack}\),三次无果后,我的洛谷月赛就这样划画上句号。

题解都看不懂怎么破\(QAQ\)……我好蒟啊……

猜你喜欢

转载自www.cnblogs.com/wxl-Ezio/p/9074053.html