티스토리 뷰

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

 

14466번: 소가 길을 건너간 이유 6

첫 줄에 N, K, R이 주어진다. 다음 R줄에는 한 줄에 하나씩 길이 주어진다. 길은 상하좌우로 인접한 두 목초지를 잇고, r c r′ c′의 형태 (행, 열, 행, 열)로 주어진다. 각 수는 1 이상 N 이하이다.

www.acmicpc.net

오랜만에 알고리즘 문제를 풀었습니다 ㅎㅎ 이제 자기 전에 한 문제씩 다시 풀어야겠습니다...

 

길이 연결되어 있는 상황에서 길을 건너지 않고는 못 만나는 소가 몇 쌍인지 구하는 문제입니다.

 

반대로 생각하면 전체 경우인 kC2 에서 길을 안 건너고 만날 수 있는 경우를 빼면 됩니다.

 

조합으로 구하기 위해 소 번호는 자신보다 큰 소를 만날 때만 카운트합니다. (벡터에 넣습니다.)

 

bfs를 이용해서 이동하고자 하는 다음 칸이 길을 통해서 가는 거면 못 가는 걸로 생각하면 됩니다.

 

코드는 다음과 같습니다.

 

 

'알고리즘 > 백준' 카테고리의 다른 글

백준 1422 숫자의 신 C++  (0) 2021.11.25
백준 1701 Cubeditor C++  (0) 2021.11.23
백준 4811 알약 C++  (0) 2021.11.06
백준 14226 이모티콘 C++  (0) 2021.11.04
백준 16936 나3곱2 python3  (0) 2021.09.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함