부족 전쟁
면접 대비시간 제한3초메모리 제한512 MB
N개 부족 중 입력에 주어진 쌍은 동맹이고 나머지 쌍은 적대적일 때, 세 부족이 모두 동맹이거나 모두 적대적인 삼중쌍의 개수를 센다.
문제
어느 행성에 개의 작은 부족이 살고 있다. 편의상 부족에 부터 까지 번호를 붙이자.
- 서로 다른 두 부족은 동맹 관계이거나 적대 관계이다. 이 관계는 대칭적이다. 부족 A가 부족 B를 동맹으로 여기는데 B가 A를 적으로 여기는 경우는 없다.
- 부족 A와 부족 B가 동맹이고 부족 B와 부족 C가 동맹이어도 부족 A와 부족 C는 적대 관계일 수 있다.
- 서로 다른 세 부족이 모두 동맹 관계이면 삼자 동맹 관계라 하고, 모두 적대 관계이면 삼자 적대 관계라 하자.
개의 부족 사이에 존재하는 서로 다른 삼자 동맹 관계와 삼자 적대 관계의 개수를 모두 합한 값을 구하라.
예를 들어 이고 부족 1과 부족 2, 부족 1과 부족 3, 부족 4와 부족 5가 동맹이며 나머지 부족 쌍은 모두 적대 관계라 하자. 이때 와 가 삼자 적대 관계이고 삼자 동맹 관계는 없으므로 답은 이다.
다른 예로 이고 부족 1과 부족 2, 부족 2와 부족 3, 부족 1과 부족 3이 동맹이라 하자. 은 삼자 동맹 관계이고 , , 는 삼자 적대 관계이므로 답은 이다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. ()
각 테스트 케이스의 첫 줄에 , 이 공백으로 구분되어 주어진다.
다음 줄에 걸쳐 한 줄에 두 정수 , 가 주어지는데, 이는 와 가 동맹임을 나타낸다.
주어지는 동맹 관계는 항상 을 만족하며, 같은 부족 쌍이 여러 번 주어지는 경우는 없다.
입력으로 주어지지 않은 부족 쌍은 적대 관계라고 가정한다.
출력
각 테스트 케이스마다 한 줄에 동맹-반동맹 계수를 출력한다.