NOIP2017一条咸鱼的总结

怎么说呢,作为一个才学几个月的新手OIer去考noip,能拿到160这个分数还是将就能看吧(别说了,弱省OI没人权)。

下来看了一下这些题,果然还是做不来啊哈哈哈(= 。=)。。。

话不多说直接上题:

D1T1

    小学奥数,小学奥数,小学奥数,重要的事情说三遍!!!对没错这是一道令人窒息的小学奥数题,一开始我就看到了其中有一个谜一般的规律,但是我想了想,不对啊这第一题没这么水吧???结果事实上是我看了一个多小时未果直接把我的公式套上去了,结果就ac了???

exm???

exm

D1T2

  这是一道终极无敌大模拟,两个字:恶心。我后面的时间基本都奉献给了这道题,结果最后竟然没有编译过!!!?
  结果。。。。时间不够,找不到错误,愉快的爆零。。。`

D1T3

没学过,不做评价。

D2T1

    这道题就很神奇了,刚考的时候看了一下三道题,毅然决然的选择了第一题来写爆搜,于是竟然水到了60分???
    不过下来再检查的时候也很神奇,第一个和第二个数据没过却把后面6个数据爆搜出来了,emmmmmmmmmmmm

关键是调试时有些数据没有进入我写的循环体里面进行搜索???
大概。。就是这个样子:

#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
struct m{
    int x;
    int y;
    int z;
}ball[1005];
int has[1005];
int t=0,n,h,r,flag;

int dist(int x,int y){
    int s;
    int x1=(ball[x].x-ball[y].x)*(ball[x].x-ball[y].x);
    int y1=(ball[x].y-ball[y].y)*(ball[x].y-ball[y].y);
    int z1=(ball[x].z-ball[y].z)*(ball[x].z-ball[y].z);
    s=x1+y1+z1;
    return s;
}

bool cop(const m &a,const m &b){
    return a.z<b.z;
}

void dfs(int x){
    if(flag==1) return;
    if((h-ball[x].z)<=r)
    {
        printf("Yes\n");
        flag=1;
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(has[i]==0)
            if(dist(i,x)<=2*r*2*r){
                has[i]=1;
                dfs(i);
            }
    }
    has[x]=1;
}
int main()
{
    freopen("cheese.in","r",stdin);
    freopen("cheese.out","w",stdout);
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        scanf("%d%d%d",&n,&h,&r);
        for(int j=1;j<=n;j++)
            scanf("%d%d%d",&ball[j].x,&ball[j].y,&ball[j].z);

        sort(ball+1,ball+n+1,cop);    

        if(ball[1].z>r) {printf("No\n");continue;}
        else if((h-ball[n].z)>r) {printf("No\n");continue;}

        for(int i=1;i<=n/2;i++)
        {
            if(ball[i].z>r) break;
            if(ball[i].z<=r)
                dfs(i);
        }
        if(flag==0) printf("No\n");
        flag=0;
        for(int i=1;i<=1000;i++)
            has[i]=0;
    }
    return 0;
}

所以我的代码到底发生了什么我也不是很清楚。。。
人生啊

D2T2&D2T3

实在也是没学过不想多说。。。。

所以这次NOIP的经历可以总结成一句话

骗分过样例,暴力出奇迹!!!

(开玩笑的当然是认真学习多多刷题啦!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值