[문제스포주의]


https://www.acmicpc.net/problem/1591


문제 분류는 오일러라고 함


입력에 등장한 숫자들을 각각 정점이라고 생각하고 정점마다 차수를 구하면


M은 3이고

정답수열 :

12345


예제입력:

123

234

345


일때


adj [here][there] = 1


해주는 방식으로 그래프를 기록한 다음 종만북 오일러 순회 dfs 돌리면 되는데


근데 문제는, 수열에 중복되는 값이 존재할때임.


종만북에서는 dfs 가 한번 순회할때마다 adj [here][there] 을 1씩 빼주는데


이 방법은 정답수열이 12312345 같이 중복되는 값이 존재할 경우에 문제가생김.


1 ㅡ 2 ㅡ 3 까지 간다음 다시 1에서 출발하려는데 가려는데 1에는 남아있는 간선이없어서 에러가 나네



그렇다고 처음에 그래프를 기록할때


adj [here][there] += 1


방식 으로 기록하면


정답수열: [1, 2, 3, 4, 5]

차수 : [1, 2, 3 , 2, 1]


가 되서 홀수 차수가 2개 이상이라 오일러로 못풀고. 애초에 M이 2로 고정되서 숫자 두개씩만 준다면 이 방법으로 풀수 있겠지만 M이 막 변화한다는거에서 막히네



그래서 저거 문제 조건중에


"같은 값의 수열은 반복되지 않는다" (첫번째 그래프 기록방식으로 풀경우)


또는


"M 은 2로 고정" (두번째 기록 방식)


추가 되야하는거 아님? 그렇지 않더라도 풀수 있는데 내가 내공이 딸리는건가 ㅠㅠ



긴글 ㅈㅅ하다