HDU

来源:互联网 发布:好听的改编网络歌曲 编辑:程序博客网 时间:2024/06/15 15:07

传送门
//题意: 给定一幅n个点, m条边的图, 问有多少个恰好有S个顶点的完全子图?
//思路: 这道题的想法炒鸡棒, 要学到. 因为s最大10. 点数最多也才100. 完全可以用暴力搜索. 问题有一点, 如何避免搜重? 所以这里就非常有意思了. 我们建图时建有向的有序边. 即我们只从编号小的到编号大的(或者反着, 必须有序)建有向边. 而连接性我们双向标记. 这样我们在暴力每个点搜索时不仅可以搜出答案 , 并且不会搜重. 只要想到这里, 就应该好写了. 剩下的就是普通的深搜出每一种答案.

AC Code

/** @Cain*/const int maxn = 1e2+5;int cnt,head[maxn];bool mapp[maxn][maxn],vis[maxn];int p[25];int n,m,S;int ans;struct node{    int to,next;}s[maxn*10];void add(int u,int v){    s[cnt] = (node){v,head[u]};    head[u] = cnt++;}void dfs(int u,int deep){    bool flag = true;    for(int i=0;i<deep;i++){        if(!mapp[u][p[i]]){            flag = false;            break;        }    }    if(flag){       p[deep++] = u;      // printf("%d %d\n",flag,deep);       if(deep == S){            ans++;            return ;       }    }    else return ;    for(int i = head[u]; ~i ; i = s[i].next){        int to = s[i].to;        if(vis[to]) continue;        vis[to] = true;        dfs(to,deep);        vis[to] = false;    }}void solve(){    Fill(vis,0); Fill(mapp,0);    cnt = 0; Fill(head,-1); Fill(p,0);    scanf("%d%d%d",&n,&m,&S);    for(int i=1;i<=m;i++){        int u,v;        scanf("%d%d",&u,&v);        if(u > v) swap(u,v);  //建有序有向边        add(u,v);        mapp[u][v] = mapp[v][u] = 1;  //双向标记    }    ans = 0;    for(int i=1;i<=n;i++){        vis[i] = true;        dfs(i,0);        vis[i] = false;    }    printf("%d\n",ans);}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 不锈钢洗菜盆被草酸腐蚀了怎么办 汽油发电机加了柴油怎么办 装载机发动机加入齿轮油怎么办 印尼的FromE错了怎么办 寄快递被弄坏了怎么办 福田口岸手表被扣怎么办? 网页显示与服务器连接失败怎么办 唯品会中发货无法清关怎么办 国际快递被海关扣了怎么办 我想开一家物流公司手续怎么办? 物流公司把我的货弄丢了怎么办 物流公司压司机工资怎么办 立元增压泵不出水怎么办 高浊度pac不沉怎么办 集水池中沉积大量污泥怎么办 电脑qq截图不好使怎么办 捡了个手机需要指纹怎么办 手机锁屏锁住了怎么办 三星屏锁忘记了怎么办 文字下面有蓝色直线怎么办 苹果x不能截屏了怎么办 u盘在电脑上打不开怎么办 电脑桌面上文档剪切了怎么办 苹果官网查不到保修日期怎么办 吃了发霉的花生怎么办 鸡吃大蒜多了怎么办 玖瑰花叶子黄怎么办 羊偷吃腥油和花生饼吃多了怎么办 肉牛眼睛有点变黄少吃东西怎么办 黑坑草鱼不开口怎么办 花生和瓜子受潮皮了怎么办? 菜叶上长了腻虫怎么办 磨辊耐磨层脱落怎么办 磨辊耐磨层小块脱落怎么办 密封胶皮圈松了怎么办 汽筒里胶皮垫密封不严怎么办 磁耦气缸脱磁了怎么办 无杆气缸行程大怎么办 c4d中模型变成线怎么办 内径槽异性需要车一刀怎么办 轴承太紧影响转速怎么办