虽然月赛有些爆炸,但我永远资瓷洛谷!
因为去接水,所以迟到了十几分钟,然后洛谷首页就打不开了……
通过洛谷题库间接打开了比赛,看了看\(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\)……我好蒟啊……