HDU 5305 Friends (DFS)

ANSYS Twin Builder实战:5步搞定数字孪生模型部署(附ROM配置技巧) 本文详细解析了ANSYS Twin Builder在数字孪生模型部署中的实战应用,重点介绍了ROM(降阶模型)配置技巧。通过5个关键步骤,从环境搭建到工业部署,帮助工程师高效实现高精度三维仿真到轻量化数字孪生的转化,提升预测性维护和系统仿真效率。 阅读详情


Friends

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

 Total Submission(s): 163    Accepted Submission(s): 61


Problem Description
There are n people and m pairs of friends. For every pair of friends, they can choose to become online friends (communicating using online applications) or offline friends (mostly using face-to-face communication). However, everyone in these n people wants to have the same number of online and offline friends (i.e. If one person has x onine friends, he or she must have x offline friends too, but different people can have different number of online or offline friends). Please determine how many ways there are to satisfy their requirements.
 

Input
The first line of the input is a single integer T (T=100) , indicating the number of testcases.

For each testcase, the first line contains two integers n (1≤n≤8) and m (0≤m≤n(n−1)2) , indicating the number of people and the number of pairs of friends, respectively. Each of the next m lines contains two numbers x and y , which mean x and y are friends. It is guaranteed that x≠y and every friend relationship will appear at most once.
 

Output
For each testcase, print one number indicating the answer.
 

Sample Input
  
2 3 3 1 2 2 3 3 1 4 4 1 2 2 3 3 4 4 1
 

Sample Output
  
0 2
 

Source
2015 Multi-University Training Contest 2

题目大意:一些朋友关系可离线可在线,要求每个人的离线朋友数等于在线朋友数

题目分析:数据量不大,直接爆搜,记录每个点的度数,奇数的直接不可能,偶数的分成两个数组,c1[i]表示i的在线朋友数,c2[i]表示i的离线朋友数,然后一条边一条边搜就行了,注意一个剪枝,当一条边的两个端点有一个c值为0,则return

#include <cstdio>
#include <cstring>
bool mp[10][10];
int deg[10], c1[10], c2[10];
int n, m, cnt, ans;

struct EDGE
{
    int u, v;
}e[100000];

void DFS(int cur)
{
    if(cur == m + 1)
    {
        ans ++;
        return;
    }
    int v = e[cur].v;
    int u = e[cur].u;
    if(c1[u] && c1[v])
    {
        c1[u] --;
        c1[v] --;
        DFS(cur + 1);
        c1[u] ++;
        c1[v] ++;
    }
    if(c2[u] && c2[v])
    {
        c2[u] --;
        c2[v] --;
        DFS(cur + 1);
        c2[u] ++;
        c2[v] ++;
    }
    return;
}

int main()
{
    int T;
    scanf("%d", &T);
    while(T --)
    {
        cnt = 0;
        ans = 0;
        memset(deg, 0, sizeof(deg));
        memset(e, 0, sizeof(e));
        memset(c1, 0, sizeof(c1));
        memset(c2, 0, sizeof(c2));
        scanf("%d %d", &n, &m);
        for(int i = 1; i <= m; i++)
        {
            scanf("%d %d", &e[i].u, &e[i].v);
            deg[e[i].u] ++;
            deg[e[i].v] ++;
        }
        bool f = false;
        for(int i = 1; i <= n; i++)
        {
            c1[i] = c2[i] = deg[i] / 2;
            if(deg[i] & 1)
            {
                f = true;
                break;
            }
        }
        if(f)
        {
            printf("0\n");
            continue;
        }
        DFS(1);
        printf("%d\n", ans);
    }
}

 

Homebrew国内镜像自动安装全攻略:从零到精通 本文提供了一份详尽的Homebrew国内镜像自动安装指南,旨在帮助Mac用户,特别是国内开发者,快速、无痛地部署这一强大的包管理器。通过使用优化的国内镜像脚本,实现一键自动安装,有效解决官方源访问缓慢或失败的问题。文章从安装前准备、脚本执行步骤、原理讲解到日常使用命令和常见问题排查,提供了从零到精通的完整路径,让用户在短时间内掌握Homebrew的核心用法,提升开发与工作效率。 阅读详情

相关推荐

LTE信令流程实战:从Attach到Service Request的完整解析(附常见问题排查)

本文深入解析LTE信令流程中的Attach和Service Request关键环节,提供从基础原理到实战排查的完整指南。涵盖鉴权、承载建立等核心步骤,分析常见故障模式及优化方案,并附赠信令跟踪工具使用技巧,助力通信工程师提升网络运维效率。

alpha的博客 319

hdu 5305 Friends(dfs)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5305 解题思路: 由于总点数很少,我们考虑暴力。但是总的边数有(8*7)/2=28,所以直接枚举每条边的状态无疑会TLE。又注意到如果存在一个点的度数为奇数,那么最后答案肯定时0,每个点度数都为偶数时,总边数最多为(8*6)/2=24.还是一个蛮大的数字。最后一个优化是,每次搜索一个点时,

piaocoder 837

Clawdbot完 整安装与使⽤指南(保姆级教程)

Clawdbot 是⼀款开源个⼈ AI 智能体(Personal AI Agent),核⼼优势为本地部署+系统级执⾏+全渠道交互,可通过聊天⼯具(Telegram/WhatsApp 等)下达指令,⾃动完成⽂件整理、代码部署、⽇程同步等任务,所有数据本地存储,隐私零泄露。截⾄2026年 1 ⽉,GitHub 星标突破 4 万+,⽀持 Windows/Mac/Linux/云服务器多平台。

A1609926242的博客 1617

hdu(5305)——Friends(dfs)

题意: 现在有n个人,m对朋友,然后对于每对朋友来说它们可以成为A或B类型的朋友。但是这n个人每个人都希望自己A类型的朋友个数与B类型的朋友个数相同。然后问你有多少种方式可以满足他们的要求。 思路: 看了一下数据范围,不是很大,所以首先想到的就是暴力,但是怎么递归呢? 这个思路很巧妙: 每条边可以选择是成为A或是成为B。于是我们对每个点进行判断,设成为A方案的边数为onl[i],成为B方

ACM_hades的梦想之路 632

HFSS螺旋线圈的优化设计与高效仿真实践

本文详细介绍了HFSS螺旋线圈的优化设计与高效仿真实践,涵盖核心参数设置、参数化建模、仿真加速技巧及结果分析。通过HFSS软件实现螺旋线圈的高效仿真,特别适用于无线充电和RFID系统设计,提升设计效率与性能验证准确性。

weixin_30235225的博客 445

华为无线AP+AC(ensp)

VLAN 100--192.168.100.0/24为AP的管理IP地址VLAN10--192.168.10.0/24为无线用户获取的IP地址在DHCP Server(LSW3)上查看地址分配情况。

abcdlalal的博客 1万+

HDU 5305 Friends(图+DFS)

Friends 有 n 个人,m 组朋友,要求每个人有一半的朋友在线,一半的朋友不在线,求多少种可能。 如果一个人有奇数个朋友,显然是不成立的 若都有偶数个,我们先假设两种状态的朋友各有一半,然后借用 m 种关系,使得其成立即可 const int N=100+5; int n,m,t; int i,j,k; int a[N],b[N]; int num[N]; Pair G[N]; int ans; void DFS(int step) {...

C_Dreamy的博客 404

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp 文章目录[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp分析log文件格式分析协议组成UDS网络传输层UDS统一诊断服务协议分析文件提取文件逆向flag计算参考链接: teslaaaaa这道题是青龙组被做出来的题目中做出来人数最少的,直到比赛快结束才有第一个人做出来,怎么说,难并不是因为脑洞大,讲道理这道题是一道好题,我当时也是肝了一天没做出来,我倒是把文件提取出来了,奈何比赛时间已经接近尾

Breeze的博客 1万+

DFS训练~Friends~解题报告

Friends 文章目录Friends题目描述:Input:Output:Sample Input:Sample Output:题目大意:思路分析:AC代码:用时:15ms 题目描述: There are n people and m pairs of friends. For every pair of friends, they can choose to become online frie...

xiaosuC的博客 405

【AutoDL + Langchain-Chatchat】从零构建高效本地 RAG 知识库问答系统:实战保姆级教程(含避坑指南)

本文详细阐述如何在AutoDL云平台,如何利用Langchain-Chatchat构建高效的本地RAG知识库问答系统,并深入解析RAG架构。从环境搭建到实战部署,从问题排查到性能优化,提供一份全面实用的指南,助力开发者快速构建智能问答应用。

拾光夕拾的博客 1804

MOSFET雪崩特性参数解析

但是,一些电源在输出短路时,初级中会产生较大的电流,加上初级电感,器件就会有雪崩损坏的可能,因此在这样的应用条件下,就要考虑器件的雪崩能量。对于那些在MOSFET的D和S极产生较大电压的尖峰应用,就要考虑器件的雪崩能量,电压的尖峰所集中的能量主要由电感和电流所决定,因此对于反激的应用,MOSFET关断时会产生较大的电压尖峰。雪崩击穿能量标定了器件可以容忍的瞬时过冲电压的安全值,其依赖于雪崩击穿需要消散的能量。EAS单脉冲雪崩击穿能量, EAS标定了器件可以安全吸收反向雪崩击穿能量的高低。

Airer_00的博客 809

[DFS] 多校联合第二场 F题 Friends

FriendsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0Problem Description There are n people and m pairs of fri

童凌的技术博客 645

概念解析 | 雷达动态范围

这里存在一个动态范围的问题:强雷达发射信号和弱目标反射信号存在非常大的功率差异,比如传统的脉冲多普勒雷达动态范围可达90dB以上。随着上述技术的发展,预计未来十年雷达接收机动态范围将达到120dB以上,届时雷达的监视能力将得到极大增强。简单来说,雷达动态范围越大,表示接收机噪声越低,对强信号过载保护能力越强,就越能检测到弱信号目标。此外,部分新概念雷达对动态范围提出新的需求,如被动雷达动态范围需大于100dB。当前,随着阵列雷达和数字雷达技术的发展,对雷达接收机动态范围提出了更高要求。

NLOS的博客 1051

HDU 5305 Friends dfs

Friends 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5305 Description There are n people and m pairs of friends. For every pair of friends, they can choose to become online friends (communicating u...

weixin_30739595的博客 83

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

hdu5305Friends dfs

//给一个无向图 , 每条边可以是online边也可以是offline边,问 //有多少种方法使得每个节点的online边和offline边一样多 #include #include #include using namespace std; const int maxn = 110 ; int on[maxn] , off[maxn]; int x[maxn] , y[maxn]

ijbuhv的专栏 1599

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

hdu 5305 Friends (dfs)

题目地址 http://acm.hdu.edu.cn/showproblem.php?pid=5305 Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1626    Accepted Submission

ACMan 470

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

hdu 5305 Friends dfs

这道题目是多校中的一道题,一直在我的书签待看中,不想看书啊不想看书,这几天都没有好好看书了,没正正经经想过题目,正好这次把它看看,先看的题解。。。我发现我对搜索还是有点兴趣的,今天晚上做做搜索。。。我之前就觉得dfs总是回加上回溯的,我还感觉dfs基本上都是两种情况,1.对点深搜,2.对边深搜 思路: 还是看的别人的思路,厚着脸皮写一下吧,这道题目最多有8个点,(8*7)/2=28条边,我们可

勿忘初心 650

DFS HDU 5305 Friends

题目传送门 1 /* 2 题意:每个点都要有偶数条边,且边染色成相同的两部分,问能有多少种染色方法 3 DFS+剪枝:按照边数来DFS,每种染色数为该点入度的一半,还有如果点不是偶数边就不DFS 4 这是别人的DFS,写的精简强大,膜拜之。。。 5 */ 6 #include <cstdio> 7 #incl...

weixin_33724046的博客 99

HDU 5305 Friends(dfs)

Problem Description There are n people and m pairs of friends. For every pair of friends, they can choose to become online friends (communicating using online applications) or offline friends (

Must so 533

HDU 5305 Friends DFS

题目大意:给一个n(1≤n≤8)个顶点,m条边的无向图,要求给边进行黑白染色,使得对于每一个顶点,黑边数=白边数,求方案数。一个很直接的想法是DFS,枚举边的颜色,然后检查答案,但是边数最多有28条,直接做是会超时的,需要做几个优化: 首先每个顶点如果有M条边,如果M-1条边的颜色确定了那么第M条边肯定也确定了。 如果存在度为奇数的点,那么显然答案是0的。 对于第一个优化,我们发现,如果枚举边不太好

None 815

HDU 5305 Friends DFS+剪枝

题意:n个人,m对朋友,每一对朋友可以是online friend或者offline friends,m对朋友不重复,每个人的两种朋友数量必须相等,问有多少种方法满足要求 方法:注意:朋友的朋友和自己没有关系,用DFS回溯+剪枝,测试每对朋友为online friend和offline friends的情况,当任一个人的朋友数为奇数时候可以直接输出0因为分配不             了,

KeyboardPianist的博客 559

HDU 5305 Friends(简单DFS)

Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 878    Accepted Submission(s): 422 Problem Description There are n people

叶孤心的专栏 872

HDU 5305 Friends(dfs)

Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 297    Accepted Submission(s): 127 Problem Description There are n people

左眼皮跳跳 841

HDU 5305 Friends(DFS + 剪枝)

http://acm.hdu.edu.cn/showproblem.php?pid=5305 题目大意就是,有m对朋友,每个人可以有线上和线下朋友,对于每个人,要求线上和线下朋友数目相同。 做法:我们直接把朋友关系保存,当成边,然后DFS枚举每一条边两种情况,两人互为网友或者是线下的朋友。但是这样最高的复杂度达到了2^28,而且T等于100,这样显然是不足以在时限内解决问题的。此时想尽办法剪枝

llzhh的博客 390
上一篇: Codeforces Round #313 (Div. 2) (ABCDE题解)
下一篇: HDU 5303 Delicious Apples (贪心 枚举 好题)
_TCgogogo_
博客等级 码龄12年 615粉丝 1081原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值