JZOJsenior3541.【清华集训2014】破冰派对

本文介绍了一道计算机科学竞赛题,题目要求找出满足特定条件的工作团队组合,即团队成员相互认识,参与者相互不认识。给出了输入输出格式、样例数据以及不同数据量级别的解题策略,包括剪枝优化的DFS算法。

problem

Description

由于计算机系的同学们都很宅,很多同学虽然身在一个系,但是入学很久还是相互不认识。学生会主席小Y希望举办一次破冰派对,要让同学们多从寝室里走出来参加娱乐活动,也要让尽量多不认识的同学们通过活动相互认识。自然的,如果参加活动的同学互相都不认识,那便是极好的。:)

要办一次成功的派对是很不容易的,不光需要有同学参加,优秀的工作人员也是必不可少的。他们需要为派对的筹办付出很多的努力,因此一个和谐的团队是非常重要的。小Y希望所有工作人员都是相互认识的。

计算机系一共有N个同学,所有同学从1到N编号。有M对同学相互认识,而其余的同学相互不认识。

小Y希望从中选出一些工作人员组成工作团队,让这个工作团队负责活动的组织,而其余的所有非工作人员,就自然都成为了活动的参与者。小Y要求:

1、工作团队的成员必须相互认识;

2、参与活动的同学必须相互不认识;

3、至少有一个同学参与活动,也至少有一个同学是工作人员。

小Y想知道,一共有多少种工作团队的选择方案呢?

Input

第一行读入一个整数T,表示测试数据的组数。接下来T组数据,每组数据格式如下:

第一行包含两个整数N和M。

接下来M行,第i行包含两个不同的,在1到N之间的整数xi,yi,表示编号为xi和yi的同学相互认识。

输入数据保证,在每一组测试数据中,任意两个同学之间的朋友关系都不会被列出两次。

Output

对于每一组测试数据输出一行一个整数,表示可行的方案总数,模1000003的余数。

Sample Input

2

1 0

4 4

1 2

1 3

2 3

3 4

Sample Output

0

3

Data Constraint

对于20%的数据满足N ≤ 10;

对于40%的数

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值