F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

交通灯

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/102400 K (Java/Others)
Total Submission(s): 217    Accepted Submission(s): 65


Problem Description
相信交通灯对于你来说并不陌生,交通灯分为红色和绿色两个阶段,这两个阶段互相更替,保障着道路的安全。

在杭州一共有$n$个路口,编号依次为$1$到$n$。这些路口之间连接着$m$条双向道路,每条道路连接着两个不同的路口,且任意两个路口之间最多连接着一条道路。每条道路中央都设置着一个交通灯。

为了保障道路的安全,对于任意两条道路,如果它们连接了同一个路口,那么它们不能同色。

你的朋友正乘着飞机从杭州的上空飞过,并拍了一张杭州的照片。在照片里,每条道路的交通灯的颜色都清晰可辨。

你并不知道你的朋友是在什么时候按下的快门,于是你想统计出有多少种可能的方案。每个方案可以用一个颜色序列$col_1,col_2,\dots,col_m(col_i\in\{'Red','Green'\})$来描述,表示每个交通灯的颜色。
 

Input
第一行包含一个正整数$T(1\leq T\leq 5000)$,表示测试数据的组数。

每组数据第一行包含两个正整数$n,m(1\leq n,m\leq 100000)$,表示路口和道路的数量。

接下来$m$行,每行包含两个正整数$u_i,v_i(1\leq u_i,v_i\leq n,u_i\neq v_i)$,表示一条连接$u_i$路口和$v_i$路口的道路,任意两个路口之间最多连接着一条道路。

输入数据保证所有数据中$n$和$m$的总和都不超过$1000000$。
 

Output
对于每组数据输出一行一个整数,即$ans$,即可能的方案数对$1000000007=10^9+7$取模的结果。

注意城市布局可能不能保障道路的安全,此时的答案应该为$0$。
 

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

Sample Output
0 4
 

Author
Claris
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 17:21:05, Gzip enabled