rand函数为啥可以这样用? 这和暴力求解有啥区别呢?

#include <bits/stdc++.h>
usingnamespacestd;
intx[10001],y[10001];
intmain()
{
    intt,n;
    doublem;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d %lf",&n,&m);
        for(inti=0;i<n;i++)
            scanf("%d%d",&x[i],&y[i]);
        intcont=0,flag=0;
        for(inti=0;i<500;i++)
        {
            inta=rand()%n;
            intb=rand()%n;
            if(a==b)
                continue;
            cont=0;
            for(inti=0;i<n;i++)
            {
                if((x[a]-x[i])*(y[b]-y[i])==(x[b]-x[i])*(y[a]-y[i]))
                    cont++;
            }
            if((double)cont/n>=m)
            {
                flag=1;
                break;
            }
        }
        if(flag)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return0;
}
全部评论
没人的嘛~
点赞 回复 分享
发布于 2018-08-18 14:58

相关推荐

认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:31
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务