※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 19686번 문제인 Lost Array이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/19686
i번 인덱스의 수와 j번 인덱스의 수의 값중 가장 작은 값의 크기가 x일 때, 적어도 두 수 모두 값이 x 이상이어야 함을 알 수 있다.
주어지는 모든 min값 정보를 위와 같은 정보로 변환해 각 인덱스의 수의 최솟값을 구해 문제를 해결하자. 단, 배열의 모든 수는 양수여야 함에 유의하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N, M;
int A[100001];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
while (M--) {
int x, y, z; cin >> x >> y >> z;
A[x] = max(A[x], z), A[y] = max(A[y], z);
}
for (int i = 1; i <= N; i++) {
if (A[i]) cout << A[i] << ' ';
else cout << 1 << ' ';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 24145 // C++] 折り紙 (Origami) (2) | 2024.09.10 |
---|---|
[BOJ 15487 // C++] A[j]-A[i]+A[l]-A[k] (1) | 2024.09.09 |
[BOJ 14488 // C++] 준오는 급식충이야!! (1) | 2024.09.07 |
[BOJ 6199 // C++] Big Square (2) | 2024.09.06 |
[BOJ 7088 // C++] Word counting (1) | 2024.09.05 |