RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R00729

안정적인 결혼

스페셜 저지 — 출력을 사용자 정의 프로그램으로 검사하므로 여러 정답이 인정될 수 있습니다.
Gold II 골드 II
난이도
1s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

\(N\)명의 남자와 \(N\)명의 여자가 있다. 각 사람은 이성 전원에 대한 선호 순위를 가지고 있다.

남자와 여자를 일대일로 모두 짝지어 결혼시키려 한다. 어떤 짝짓기에서, 서로 다른 짝에 속한 남자 \(m\)과 여자 \(w\)가 있어 \(m\)은 자신의 현재 배우자보다 \(w\)를 더 선호하고, 동시에 \(w\)도 자신의 현재 배우자보다 \(m\)을 더 선호한다면, 쌍 \((m, w)\)불안정 쌍이라 한다.

불안정 쌍이 하나도 존재하지 않는 짝짓기를 안정적인 결혼(stable matching) 이라 한다. 항상 하나 이상의 안정적인 결혼이 존재함이 알려져 있다. 임의의 안정적인 결혼 하나를 출력하여라.

제약

\(1 \le N \le 500\). 각 선호 순위는 \(1 \dots N\)의 순열이다.

입력 형식

첫째 줄에 정수 \(N\)이 주어진다.

다음 \(N\)개의 줄 중 \(i\)번째 줄에는 \(i\)번 남자의 선호 순위가 주어진다. \(N\)개의 정수가 공백으로 구분되어 주어지며, 이는 \(1\)부터 \(N\)까지 여자 번호의 순열로, 앞에 나올수록 더 선호하는 여자이다.

그 다음 \(N\)개의 줄 중 \(j\)번째 줄에는 \(j\)번 여자의 선호 순위가 같은 형식으로 (남자 번호의 순열로) 주어진다.

출력 형식

\(N\)개의 정수를 출력한다. \(i\)번째 정수는 \(i\)번 남자와 짝지어진 여자의 번호이다. 출력한 짝짓기가 완전한 일대일 대응이면서 안정적이기만 하면 정답으로 인정한다.

예제 1
입력
1
1
1
출력
1
설명

남자도 여자도 한 명뿐이므로 \(1\)번 남자는 \(1\)번 여자와 결혼할 수밖에 없다.

예제 2
입력
3
1 2 3
2 3 1
3 1 2
2 3 1
3 1 2
1 2 3
출력
1 2 3
설명

각 남자가 1순위 여자와 맺어져도 불안정 쌍이 생기지 않는 안정적인 결혼이 존재한다. 짝짓기 \(1\!-\!1\), \(2\!-\!2\), \(3\!-\!3\)이 그 예이다.

힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

안정적인 결혼

개요
출제자 난이도 Gold II 골드 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

안정적인 결혼

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8