[BaekJoon] 백준 10159번 저울
🎈문제
https://www.acmicpc.net/problem/10159
💬설명
- 플로이드-와샬로 모든 점에서 다른 모든 점으로 갈 수 있는지를 모두 구하고, a -> b, b -> a인 경로가 있다면 무게 비교가 가능한 개수에 추가해서 출력하면 된다.
👩💻코드
# BaekJoon10159.py
N = int(input())
M = int(input())
relation = [[False for _ in range(N)] for _ in range(N)]
# 연결 배열 생성
for _ in range(M):
a, b = map(int, input().split())
relation[a - 1][b - 1] = 1
# 플로이드-와샬로 이동 가능한 보든 경로 구하기
for k in range(N):
for i in range(N):
for j in range(N):
if relation[i][k] and relation[k][j]:
relation[i][j] = True
# 출력
for i in range(N):
cnt = 0
for j in range(N):
if not relation[i][j] and not relation[j][i]:
cnt += 1
print(cnt - 1)
728x90
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[Programmers] 행렬 테두리 회전하기 (0) | 2021.11.04 |
---|---|
[BaekJoon] 백준 2638번 치즈 (0) | 2021.11.04 |
[BaekJoon] 백준 11909번 배열 탈출 (0) | 2021.11.04 |
[BaekJoon] 백준 13913번 숨바꼭질4 (0) | 2021.10.28 |
[BaekJoon] 백준 19238번 스타트 택시 (0) | 2021.10.23 |