trang chủ / bài tập / cntgraphs

Đếm Đồ Thị

Đề bài

Mô tả

Cho một đồ thị vô hướng liên thông GN đỉnh được đánh số từ 1 đến NM cạnh. Đồ thị có thể có khuyên (cạnh nối một đỉnh với chính nó) nhưng không có cạnh song song.

Định nghĩa hàm boolean fG(a,b) bằng true nếu tồn tại đường đi từ đỉnh 1 đến đỉnh a đi qua đúng b cạnh (mỗi cạnh được tính mỗi lần đi qua), và false nếu không tồn tại.

Đếm số đồ thị vô hướng G (có thể có khuyên, không có cạnh song song, trên N đỉnh được đánh nhãn) thỏa mãn fG(a,b)=fG(a,b) với mọi ab. Kết quả tính theo modulo 109+7.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên T — số lượng test case.

Mỗi test case bắt đầu bằng một dòng chứa hai số nguyên NM. Tiếp theo là M dòng, mỗi dòng chứa hai số nguyên xy (1xyN) mô tả một cạnh trong G.

Các test case liên tiếp được phân cách bởi dòng trống.

Dữ liệu ra

Với mỗi test case, in ra một số nguyên duy nhất là số đồ thị G thỏa mãn, modulo 109+7.

Ràng buộc

  • 1T1054
  • 2N102
  • N1MN2+N2
  • Tổng N2 của tất cả các test case không vượt quá 105

Ví dụ

Input Output Giải thích
1

5 4
1 2
2 3
1 4
3 5
3 G có thể là G ban đầu, hoặc đồ thị với các cạnh {1-2, 1-4, 3-4, 3-5}, hoặc đồ thị với các cạnh {1-2, 2-3, 1-4, 3-4, 3-5}.
7

4 6
1 2
2 3
3 4
1 3
2 4
1 4

5 5
1 2
2 3
3 4
4 5
1 5

5 7
1 2
1 3
1 5
2 4
3 3
3 4
4 5

6 6
1 2
2 3
3 4
4 5
5 6
6 6

6 7
1 2
2 3
1 3
1 4
4 5
5 6
1 6

10 10
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10

22 28
1 2
2 3
3 4
4 5
5 6
6 7
1 7
1 8
3 9
8 10
10 11
10 12
10 13
10 14
11 15
12 16
13 17
14 18
9 15
9 16
9 17
9 18
15 19
19 20
15 20
16 21
21 22
16 22
45
35
11
1
15
371842544
256838540

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0