Logo
(追記) (追記ここまで)

32395번 - 4-cycle (Hard)

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB253924329.452%

문제

$N$개의 정점과 $M$개의 무방향 간선으로 이루어진 단순 그래프 $G$가 주어진다. 단순 그래프란, 두 정점 사이에는 최대 1ドル$개의 간선이 존재하고, 모든 간선이 서로 다른 두 정점을 연결하는 그래프이다. $G$의 정점들은 $N$ 이하의 양의 정수들로 번호가 매겨져 있다.

그래프 $G$의 길이가 $L$인 단순 사이클은 다음 조건을 만족하는 정점의 수열 $\left( v_0,v_1,\cdots ,v_L \right)$로 정의된다.

  • 모든 0ドル\leq i<L$인 $i$에 대해 $v_i$와 $v_{i+1}$을 연결하는 간선이 $G$에 존재한다.
  • 모든 0ドル\leq i<j<L$인 $i,j$에 대해 $v_i\neq v_j$를 만족하고, $v_L=v_0$이다.

이때, 두 단순 사이클이 다음의 연산을 이용해 서로 변환 가능하면, 이를 동일한 사이클로 간주한다.

  • 수열을 뒤집는다. 즉, $\left( v_0,v_1,\cdots ,v_L \right)$을 $\left( v_L,\cdots ,v_1,v_0 \right)$로 변경한다.
  • 수열의 두 번째 원소를 맨 뒤에 추가하고 첫 번째 원소를 삭제한다. 즉, $\left( v_0,v_1,\cdots ,v_L \right)$을 $\left( v_1,\cdots ,v_L,v_1 \right)$로 변경한다.

예를 들어, 단순 사이클 $\left( 1,2,3,4,1 \right)$과 $\left( 2,1,4,3,2 \right)$는 동일한 단순 사이클이다. 주어진 그래프 $G$에서 길이가 4ドル$인 서로 다른 단순 사이클의 개수를 구해보자.

입력

첫 번째 줄에 그래프 $G$의 정점의 개수 $N(2\leq N\leq 10^5)$과 간선의 개수 $M(1\leq M\leq 10^5)$이 공백으로 구분되어 주어진다.

두 번째 줄부터 $M$줄에 걸쳐 그래프 $G$의 간선을 이루는 서로 다른 두 정점 $u,v(1\leq u,v\leq N)$가 공백으로 구분되어 주어진다.

간선이 중복으로 들어오지 않음이 보장된다.

출력

그래프 $G$에서 길이가 4ドル$인 서로 다른 단순 사이클의 개수를 10ドル^9+7$로 나눈 나머지를 출력한다.

단, 10ドル^9+7$은 소수이다.

제한

예제 입력 1

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

예제 출력 1

1

예제 입력 2

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

예제 출력 2

3

예제 입력 3

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

예제 출력 3

45

힌트

출처

University > 고려대학교 > 고려대학교 프로그래밍 경시대회 > 2024 고려대학교 프로그래밍 경시대회 (KCPC) > Div. 1 G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /