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

감시 카메라 최소 설치

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

의견: 0

설명

어떤 전시관의 통로 구조가 이분 그래프로 표현된다. 왼쪽에는 \(N\)개의 가로 복도, 오른쪽에는 \(M\)개의 세로 복도가 있고, 둘이 교차하는 곳마다 작품이 전시되어 있다.

교차점(작품)은 간선 \((a, b)\)로 주어진다. 각 복도(정점)에 카메라를 한 대 설치하면 그 복도에 속한 모든 교차점이 감시된다. 모든 교차점을 감시하기 위해 카메라를 설치해야 할 복도의 최소 개수와, 그러한 설치 방법 하나를 출력하여라.

제약

\(1 \le N, M \le 50{,}000\)

\(0 \le E \le 200{,}000\)

\(1 \le a \le N\), \(1 \le b \le M\). 같은 간선이 중복으로 주어질 수 있다.

입력 형식

첫 줄에 왼쪽 복도 수 \(N\), 오른쪽 복도 수 \(M\), 교차점 수 \(E\)가 주어진다.

다음 \(E\)개의 줄에 각각 두 정수 \(a\), \(b\)가 주어지며, 이는 왼쪽 \(a\)번 복도와 오른쪽 \(b\)번 복도가 교차하는 작품을 의미한다.

출력 형식

첫 줄에 카메라를 설치할 복도의 최소 개수 \(K\)를 출력한다.

이어서 \(K\)개의 줄에 각 카메라의 위치를 출력한다. 왼쪽 \(i\)번 복도이면 L i, 오른쪽 \(j\)번 복도이면 R j 형식으로 출력한다(순서는 무관하며, 올바른 최소 덮개라면 어느 것이든 정답으로 인정된다).

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

교차점은 (1,1),(1,2),(2,2),(3,3). 최대 매칭은 3 (예: 1-1, 2-2, 3-3). 쾨닉 정리로 최소 정점 덮개의 크기도 3이다. 예를 들어 오른쪽 복도 1,2,3에 설치하면 모든 교차점이 덮인다. 출력 형식상 한 가지 최소 덮개를 제시한다.

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

왼쪽 복도 1이 오른쪽 복도 1,2,3과 모두 교차한다. 왼쪽 복도 1에 카메라 한 대만 설치하면 세 교차점이 모두 감시되므로 최소 개수는 1이다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

감시 카메라 최소 설치

개요
출제자 난이도 Platinum I 플래티넘 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

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

풀이 제출

감시 카메라 최소 설치

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