만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

데이터 센터 점검

면접 대비

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

요약
데이터 센터의 점검 시각과 고객별 두 복사본 위치가 주어질 때, 한 시간씩 옮겨도 모든 고객이 접근할 수 있는 최소 데이터 센터 수를 구합니다.
난이도

보통10점 중 6점

유형
그래프, DFS, 구현
정답자
아직 제출이 없습니다

문제

BigData Inc.는 전 세계에 흩어진 nn개의 데이터 센터를 운영한다. 데이터 센터에는 1부터 nn까지 번호가 붙어 있으며, 고객 데이터를 저장한다. 이 회사는 어떤 데이터 센터에 장애가 나더라도 고객이 데이터에 접근할 수 있다고 보장한다. 이 보장은 이중 복제(two-way replication)로 이루어진다. 이중 복제에서는 모든 데이터가 서로 다른 두 데이터 센터에 저장된 동일한 사본 두 개로 표현된다.

고객은 mm명이다. 고객 ii의 데이터를 저장하는 서로 다른 두 데이터 센터의 번호를 ci,1c_{i,1}과 ci,2c_{i,2}라고 하자.

각 데이터 센터의 소프트웨어는 매일 업데이트된다. 하루는 정확히 hh시간이며, 데이터 센터 jj에는 그 시간 동안 접근할 수 없는 점검 시각 uju_j(0≤uj≤h−10 \leq u_j \leq h-1)가 있다. 모든 고객에 대해 uci,1≠uci,2u_{c_{i,1}} \neq u_{c_{i,2}}가 성립해야 한다. 그렇지 않으면 두 사본이 동시에 멈추어 해당 고객의 데이터에 접근할 수 없다.

시간대 변경으로 일부 데이터 센터의 점검 시각이 한 시간씩 바뀌는 경우가 있다. 회사는 이에 대비해 실험을 하려 한다. 공집합이 아닌 데이터 센터 부분집합을 골라 그 점검 시각을 한 시간 뒤로 옮긴다. uj=h−1u_j = h-1이면 새 점검 시각은 0이 되고, 그 외에는 uj+1u_j+1이 된다. 실험 후에도 접근성 보장은 유지되어야 한다. 즉 하루의 모든 시각에 모든 고객은 적어도 하나의 사본에 접근할 수 있어야 한다.

점검 시각을 바꾸는 데는 비용이 많이 드므로, 실험에 포함해야 하는 데이터 센터의 최소 개수를 구하라.

입력

첫 줄에 세 정수 nn, mm, hh(2≤n≤100 0002 \leq n \leq 100\,000, 1≤m≤100 0001 \leq m \leq 100\,000, 2≤h≤100 0002 \leq h \leq 100\,000)가 주어진다. 둘째 줄에는 nn개의 정수 u1,u2,…,unu_1, u_2, \ldots, u_n(0≤uj<h0 \leq u_j < h)이 주어진다. 이어지는 mm개의 줄에는 두 정수 ci,1c_{i,1}, ci,2c_{i,2}(1≤ci,1,ci,2≤n1 \leq c_{i,1}, c_{i,2} \leq n, ci,1≠ci,2c_{i,1} \neq c_{i,2})가 주어진다. 주어진 일정에서는 하루의 어느 순간에도 모든 고객이 적어도 하나의 사본에 접근할 수 있음이 보장된다.

출력

첫 줄에 실험에 포함해야 하는 데이터 센터의 최소 개수 kk(1≤k≤n1 \leq k \leq n)를 출력한다. 둘째 줄에는 점검 시각을 한 시간 뒤로 옮길 데이터 센터의 서로 다른 번호 x1,x2,…,xkx_1, x_2, \ldots, x_k(1≤xi≤n1 \leq x_i \leq n)를 출력한다. 출력 순서는 상관없다. 답이 여러 개이면 그중 아무거나 출력해도 된다. 유효한 선택이 적어도 하나 존재함이 보장된다.

힌트

첫 번째 예제에서는 데이터 센터 하나만 고르는 방법 중 이 답이 유일하다. 데이터 센터 3은 시각 1에 점검을 받고, 같은 고객의 데이터를 저장하는 두 데이터 센터는 같은 시각에 점검을 받지 않는다. 반대로 데이터 센터 1의 점검 시각을 옮기면, 고객 1과 3의 데이터는 시각 0에 접근할 수 없게 된다.

예제2

  1. 예제 1

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

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