HDU 5952 Counting Cliques -暴力

HDU 5952 Counting Cliques -暴力

大家好,又见面了,我是全栈君。

现场赛手速三题,这题一直没写。

直接暴力,注意点只有一个!单向建边,从小点到大点。

HDU 5952 Counting Cliques -暴力
HDU 5952 Counting Cliques -暴力

 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 using namespace std;
 5 struct edge
 6 {
 7     int to;
 8     int next;
 9 }E[1011];
10 int head[111];
11 bool e[111][111];
12 int tot;
13 int N,S,M,ans;
14 void addedge(int a,int b)
15 {
16     E[tot].to = a;
17     E[tot].next = head[b];
18     head[b] = tot++;
19 }
20 int V[20];
21 int sv = 0;
22 bool check(int t)
23 {
24     for (int i = 1; i<=sv;i++)
25     {
26         if (!e[V[i]][t]) return false;
27     }
28     return true;
29 }
30 void dfs(int u)
31 {
32     if (sv==S)
33     {
34         ans++;
35         return;
36     }
37     for (int i = head[u] ; i!=-1;i = E[i].next)
38     {
39         int v = E[i].to;
40         if (check(v))
41         {
42             V[++sv] = v;
43             dfs(v);
44             sv--;
45         }
46     }
47 }
48 int main()
49 {
50     int T;
51     cin >> T;
52     while (T--)
53     {
54         cin >> N >> M >>S;
55         memset(head,-1,sizeof(head));
56         memset(e,false,sizeof(e));
57         tot = 0;
58         for (int i= 1; i<=M; i++)
59         {
60             int a,b;
61             scanf("%d%d",&a,&b);
62             addedge(min(a,b),max(a,b));
63             e[a][b] = true;
64             e[b][a] = true;
65         }
66         ans=0;
67         for (int i = 1; i<=N; i++)
68             {
69                 sv = 0;
70                 V[++sv] = i;
71                 dfs(i);
72             }
73             cout <<ans <<endl;
74     }
75 }

View Code

 

转载于:https://www.cnblogs.com/HITLJR/p/6607769.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信公众平台定时群发系统(小懒人定时精灵篇)

    微信公众平台定时群发系统(小懒人定时精灵篇)  所谓微信公众平台定时群发系统就是在你一个时间内把你所要发布的文章都填好,然后在选择群发时间段。我最近在使用“小懒人定时精灵”,使用步骤方便,省了我好大部分的时间,听他们官方说现在正在丰富内容,期待以后有更多的功能。“小懒人定时精灵“解救了那些傻傻地守在电脑旁发送微信的人们,现在微信公众平台的推送也能定时群发了。预先到微信后台编辑一条包括文字、图片、语音、视频、图集,然后到小懒…

    2022年6月3日
    47
  • c++迭代器iterator遍历map_iterator迭代器原理

    c++迭代器iterator遍历map_iterator迭代器原理什么是迭代器迭代器是一种可以遍历容器元素的数据类型。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。C++更趋向于使用迭代器而不是数组下标操作,因为标准库为每一种标准容器(如vector、map和list等)定义了一种迭代器类型,而只有少数容器(如vector)支持数组下标操作访问容器元素。可以通过迭代器指向你想访问容器的元素地址,通过*x打印出元素值。这和我们所熟知的指针极其类似。C语言有指针,指针用起来十分灵活高效。C++语言有迭代器,迭代器相对于指针而言功能更为丰富。vector,是数

    2025年7月1日
    3
  • leetcode-149. 直线上最多的点数(map+判重)[通俗易懂]

    leetcode-149. 直线上最多的点数(map+判重)[通俗易懂]给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +————->0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4解释:^|| o| o o| o| o o+—–

    2022年8月11日
    3
  • ssm共享充电宝管理系统计算机毕业设计[通俗易懂]

    ssm共享充电宝管理系统计算机毕业设计[通俗易懂]最新200套计算机专业原创毕业设计参考选题都有源码+数据库是近期作品如果题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,站内私我或add用户名,有时间看到机会给您发1 3865ssm共享充电宝管理系统 2 583拼餐网站2018 3 3592ssm基于SSM健身房管理系统 4 3391springboot基地信息可视化 5 3202springcloud基于springcloud的电商平台的设计与实现 6 4686spring

    2022年6月4日
    39
  • MongoDB(五)—-MongoDB中的索引类型

    MongoDB(五)—-MongoDB中的索引类型

    2020年11月12日
    214
  • 如何使用cmd进入MySQL

    如何使用cmd进入MySQL同时按下键盘上的win徽标+R,选择cmd,回车键打开cmd,在命令行中输入mysql-uroot-p切记只有这句话“mysql-uroot-p”,p后面没有分号“;”,否则就会报出以下错误,即提醒使用者不要在cmd命令行中输入密码,这种做法是不安全的。正确示例:C:\Users\hemiao>mysql-uroot-pEnterpassword:******WelcometotheMySQLmonitor.Commandsendwith;or

    2022年6月5日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号