부도덕한 그래프 (Easy)

시간 제한1초메모리 제한1024 MB

요약
DAG에서 x와 y가 모두 z로 향하지만 x와 y 사이에 간선이 없는 세 정점 (x,y,z)의 개수를 센다.
난이도

보통10점 중 5점

유형
그래프, 조합론, 해시맵
정답자
아직 제출이 없습니다

문제

이 문제는 부도덕한 그래프 (Hard)와 NN과 MM의 제한을 제외하면 동일한 문제입니다.

그래프 세계에선 서로 말 한마디 섞어본 적 없는 두 정점이 같은 자식을 갖기도 한다.

사이클 없는 단순 방향 그래프의 서로 다른 정점 x,y,zx, y, z가 다음 조건을 모두 만족하면 이를 부도덕한 관계라고 한다.

  • xx에서 zz로 가는 간선과 yy에서 zz로 가는 간선이 모두 존재한다.
  • xx와 yy를 잇는 간선이 없다.

그래프 세계에선 이런 관계가 꽤 흥미로운 구조로 취급된다.

NN개의 정점과 MM개의 간선으로 이루어진 사이클 없는 단순 방향 그래프가 주어진다. 부도덕한 관계의 개수를 구해 보자.

입력

첫째 줄에 정점의 수 NN과 간선의 수 MM이 공백으로 구분되어 주어진다. (3≤N≤2,000;(3\leq N\leq 2\\,000; 1≤M≤4,000)1\leq M\leq 4\\,000)

둘째 줄부터 MM개의 줄에 걸쳐 간선을 나타내는 두 정수 u,vu, v가 공백으로 구분되어 주어진다. 이는 정점 uu에서 정점 vv로 향하는 간선을 의미한다. (1≤u,v≤N)(1\leq u,v\leq N)

주어진 그래프는 사이클 없는 단순 방향 그래프이다.

입력으로 주어지는 모든 수는 정수이다.

출력

주어진 그래프에 존재하는 부도덕한 관계의 수를 출력한다.

예제1

  1. 예제 1

    입력
    6 6
    2 3
    3 1
    2 1
    2 6
    5 6
    4 6
    
    예상 출력
    3