아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

색칠하기

시간 제한2초메모리 제한512 MB

요약
각 열과 같은 수가 적힌 두 칸이 서로 다른 색을 받도록 2×n 격자를 두 색으로 칠하는 방법의 수를 센다.
난이도

보통10점 중 6점

유형
그래프, 유니온 파인드, 조합론
정답자
아직 제출이 없습니다

문제

2×n2 \times n 크기의 격자가 있습니다. 각 칸에는 11부터 nn까지의 정수 중 하나가 적혀 있고, 모든 정수는 격자 전체에서 정확히 두 번씩 나타납니다. 또한 같은 열에 있는 두 칸에는 서로 다른 정수가 적혀 있습니다. 아래 그림은 이러한 배치의 한 예입니다.

이제 각 칸을 흰색 또는 회색으로 칠하려고 합니다. 단, 같은 열에 있는 두 칸은 서로 다른 색이어야 하고, 같은 정수가 적힌 두 칸도 서로 다른 색이어야 합니다. 아래 그림은 위 격자를 이 조건에 맞게 칠한 한 예입니다.

이러한 색칠 방법은 모두 몇 가지입니까?

입력

첫째 줄에 정수 nn (2≤n≤1002 \le n \le 100)이 주어집니다. 이어지는 두 줄에는 각각 nn개의 정수가 공백으로 구분되어 주어지며, 각 정수는 11 이상 nn 이하입니다. 이 두 줄은 격자의 각 칸에 차례대로 적힌 정수를 나타냅니다.

출력

조건을 만족하는 서로 다른 색칠 방법의 수를 한 줄에 출력합니다.

힌트

위 두 그림은 하나의 올바른 배치와 그에 대한 하나의 올바른 색칠을 보여 줍니다. 예제 입력의 격자는 그림에 나온 격자와 같습니다.

예제2

  1. 예제 1

    입력
    5
    1 5 3 1 5
    4 2 2 4 3
    
    예상 출력
    4
    
  2. 예제 2

    입력
    2
    1 2
    2 1
    
    예상 출력
    2