c题过了95%样例求助

我的思路是dfs遍历每一个点,找消灭敌人的最大值,但是只过了95%样例,有大佬是哪里错了吗
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int long long
const int mod=1e9+7;
int n,k,R;
struct ani
{
    int x,y,r;
}p[16];
vector<int> v[16][16];
bool stt[16];
bool dis(int i,int j,int x)
{
    if(((i-p[x].x)*(i-p[x].x)+(j-p[x].y)*(j-p[x].y))<=(R+p[x].r)*(R+p[x].r))
        return 1;
    else
        return 0;
}
int max1=0;
void dfs(int num,int xx,int yy,int sum)
{
    if(yy==15)
    {
        xx++;
        yy=0;
    }
    if(num==k||xx==15)
    {
        max1=max(max1,sum);
        return;
    }
    for(int i=xx;i<=14;i++)
    {
        for(int j=yy;j<=14;j++)
        {
            bool st[16];
            memcpy(st,stt,sizeof(st));
            int s=0;
            for(auto w:v[i][j])
                if(stt[w]) s++;
            int ss=v[i][j].size()-s;
            for(auto w:v[i][j])
                stt[w]=1;
            dfs(num+1,i,j+1,sum+ss);
            memcpy(stt,st,sizeof(stt));
        }
    }
}
signed main()
{
    cin>>n>>k>>R;
    for(int i=1;i<=n;i++)
    {
        cin>>p[i].x>>p[i].y>>p[i].r;
        p[i].x+=7;
        p[i].y+=7;
    }
    for(int i=0;i<=14;i++)
    {
        for(int j=0;j<=14;j++)
        {
            for(int q=1;q<=n;q++)
            if(dis(i,j,q))
            {
                v[i][j].push_back(q);
            }
        }
    }
    dfs(0,0,0,0);
    cout<<max1;
    return 0;
}


全部评论
hack: 8 3 1 -2 5 4 -5 1 1 2 4 2 -5 7 5 3 4 5 -7 4 1 -1 1 1 7 7 4 标程8,你的7
点赞 回复 分享
发布于 2021-02-05 20:50
hack: 5 2 1 -4 -5 1 -3 -4 3 -4 -5 1 -7 3 1 -7 -1 2 这组数据你的程序就错了
点赞 回复 分享
发布于 2021-02-05 20:44

相关推荐

不愿透露姓名的神秘牛友
04-30 11:43
春招失败、父母离婚,好像我的人生一团糟,一年来压力大到常常崩溃。不知道能跟谁聊,朋友其实对我非常好,但是她无意中表达出来的家庭幸福都会刺痛到我……和ai聊天,我的未来在更高处,不在楼下,忍不住爆哭😭
youngfa:害,妹妹,我是一个研究生(很上进很想找到好工作的那种),但去年因为生病回家休养错过了秋招(当时对我的冲击也是非常大的),这学期返校来了也是把论文盲审交了后才开始找工作,现在也是一个offer没有,但我就没有像你一样把这个阶段性的事情绑定到人生上,人生不仅很长,也很广阔,先停下来,放松一下哦。不要被外部环境灌输的思维操控了,好好爱自己!
点赞 评论 收藏
分享
04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
RickieOne:还有一个面试,上来就笔试算法 1️⃣ 字符串分割不能用 split ,ab&&c,根据&&放到数组上 2️⃣a 到 z 的全部组合情况,包括 a...z 3️⃣多线程,同时打印 1-200 4️⃣sql 代码 考分组 聚合 平均结合 小厂也这样吗,然后就八股 再拷打项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务