https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 풀이과정 이 문제는 이분 탐색, BFS, 유니온 파인드 3개의 알고리즘이 섞인 문제여서 매우 어려웠던 문제이다. #include #include #include #include #include using namespace std; int n, m, A, B, cost, s, e; bool c[10001]; vector v[10001]; b..
BFS
https://www.acmicpc.net/problem/13565 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net 풀이과정 문제를 잘 읽어야한다. 위쪽을 바깥쪽, 아래쪽을 안쪽이라고 생각한다. 0이면 전류가 잘 통하는 흰색이고, 1이면 전류가 통하지 않는 검은색 격자이다. 01이 붙어서 입력되므로 scanf("%1d")를 사용해서 입력 받아준다. 첫번째 줄이고, 전류가 통하는 0일 때 queue에 push를 해주며 방문 표시를 한다. bfs 과정에서는 전류가 통하지 않는 1..
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 풀이과정 적록색약은 R과 G의 차이를 느끼지 못하므로 하나의 색상으로 인식하여 cnt를 해야한다. R, G를 같이 세는 RGcnt로 변수를 하나 선언해주고 check를 true로 바꿔주며 num[i][j]가 R 또는 G일 때 RGcnt를 카운트 해주었다. 적록색약인 사람이 봤을 때는 Rcnt + Gcnt + Bcnt, 아닌 사람이 봤을 때는 RGcnt + Bcnt을 출력한다. #includ..