HDU 5952 Counting Cliques(dfs)
来源:互联网 发布:网络机柜检验报告 编辑:程序博客网 时间:2024/05/21 07:07
题意:
给出一个图,询问有多少个大小为s的完全图
思路:
题中给出提示,数据很小,而且每个点的边也不多,在搜的时候枚举一点,之后用新加的点与之前的点做一个判断,如果都有边就继续搜,否则退出
#include <stdio.h>#include <vector>#include <algorithm>#include <cstring>using namespace std;const int maxn=105;vector<int>vec[maxn];int mp[maxn][maxn];int n,m,s;int ans;int vis[maxn];int cnt;void dfs(int u,int ced){ if(ced==s) { ans++; return ; } for(int i=0;i<vec[u].size();i++) { int t=vec[u][i]; int ok=1; for(int j=1;j<=ced;j++) { int v=vis[j]; if(mp[v][t]==0) { ok=0; break; } } if(ok) { vis[ced+1]=t; dfs(t,ced+1); vis[ced+1]=0; } }}int main(){ int t; scanf("%d",&t); while(t--) { memset(mp,0,sizeof(mp)); ans=0; scanf("%d%d%d",&n,&m,&s); for(int i=1;i<=n;i++) vec[i].clear(); for(int i=1;i<=m;i++) { int u,v; scanf("%d%d",&u,&v); if(u>v) swap(u,v); mp[u][v]=mp[v][u]=1; vec[u].push_back(v); } for(int i=1;i<=n;i++) { vis[1]=i; dfs(i,1); vis[1]=0; } printf("%d\n",ans); }}
阅读全文
0 0
- HDU 5952 Counting Cliques(dfs)
- 【HDU 5952 Counting Cliques】& DFS
- HDU 5952 Counting Cliques(dfs)
- HDU 5952 Counting Cliques dfs乱搞
- hdu 5952Counting Cliques(dfs优化)
- HDU 5952 Counting Cliques 图DFS
- HDU 5952 Counting Cliques dfs + 思维
- hdu 5952Counting Cliques(dfs 优化)
- HDU 5952 - Counting Cliques
- hdu 5952 Counting Cliques
- hdu 5952 Counting Cliques
- hdu 5952 Counting Cliques
- hdu 5952 Counting Cliques(最大团思想+dfs)
- [hdu 5952 Counting Cliques]暴搜
- hdu 5952Counting Cliques(暴搜)
- HDU 5952 Counting Cliques 爆搜
- HDU-5952 Counting Cliques ,爆搜!
- hdu5952 Counting Cliques DFS
- Power Network
- HTML5_canvas(设置画笔样式、左右跑动的小块、绘制路径的方法、写字板、绘制圆形的方法、吃豆豆、绘制文本、环形进度条)设置一个模板
- MySQL搜索数据
- IOC 与 DI 的区别
- 2017.08.06【NOIP提高组】模拟赛B组小结
- HDU 5952 Counting Cliques(dfs)
- 2017 Multi-University Training Contest
- HDU 6058 Kanade's sum(链表)
- LINUX主机安全加固
- 数据结构学习二——顺序表
- UDP服务器端程序设计
- P_y_Q_t_5 和 E_r_i_c_6
- 暂存
- 交叉验证