티스토리 뷰
문제 링크
문제 요약
- 첫째 줄에는 컴퓨터의 수가 주어진다.
- 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다.
- 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어진다.
- 이어서 그 수만큼 한 줄에 한 쌍씩 네트워크 상에서 직접 연결되어 있는 컴퓨터의 번호 쌍이 주어진다.
- 1번 컴퓨터가 웜 바이러스에 걸렸을 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 첫째 줄에 출력한다.
플로이드 와샬 알고리즘
- 플로이드 와샬 알고리즘을 사용하여 1번 컴퓨터에 연결되어 있는 컴퓨터의 개수를 출력하면 된다.
문제 해답
#include <iostream>
using namespace std;
const int N_MAX = 100 + 1;
bool check[N_MAX][N_MAX];
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, M;
int p, q;
int sum = -1;
cin >> N >> M;
for (int i = 0;i < M;i++) {
cin >> p >> q;
check[p][q] = true;
check[q][p] = true;
}
for (int k = 1; k <= N; k++)
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
if (check[i][k] && check[k][j]) check[i][j] = 1;
for (int i = 1;i <= N;i++) {
if (check[1][i])sum += 1;
}
cout << sum << endl;
}
'알고리즘 > Olympiad' 카테고리의 다른 글
[Olympiad] 지역본선 2005 초등부 : 대표값2 #2587 (0) | 2019.09.25 |
---|---|
[Olympiad] 지역본선 2004 초등부 : 로마 숫자 #2608 (0) | 2019.09.24 |
[Olympiad] 지역본선 2004 초등부 : 비슷한 단어 #2607 (0) | 2019.09.24 |
[Olympiad] 지역본선 2004 초등부 : 줄 세우기 #2605 (0) | 2019.09.24 |
[Olympiad] 지역본선 2004 초등부 : 일곱 난쟁이 #2309 (0) | 2019.09.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- BOJ
- kotest
- 테라폼
- 백준
- kkoon9
- Effective Java
- Spring Boot
- 디자인패턴
- Olympiad
- Algorithm
- 클린 아키텍처
- 코테
- 알고리즘
- node.js
- 디자인 패턴
- AWS
- 정규표현식
- Kotlin
- C++
- 클린 코드
- 이팩티브 자바
- programmers
- MSA
- Java
- 이펙티브 자바
- 객체지향
- BAEKJOON
- Spring
- 프로그래머스
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함