Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준
- 통계학
- 확률론
- dp
- 이분탐색
- 백준 9465
- 문자열
- 너비우선탐색
- 프로그래머스
- BFS
- 프로그래머스 c#
- horner
- 9095 C++
- 철자검사
- 코딩테스트
- C
- 스티커 C++
- C++
- C#
- 선형대수학
- 파라메트릭 서치
- 입출력
- 알고리즘
- 프로그래머스C#
- 통계
- cpp
- 수치해석
- horner algorithm
- 확률
- 백준 C#
Archives
- Today
- Total
HOIT_B
[백준 C++] 1012번 유기농 배추 본문
728x90
https://www.acmicpc.net/problem/1012
1012번: 유기농 배추
차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에
www.acmicpc.net
입력
T : 밭의 수
M,N : 밭의 크기 MxN
K : 배추가 심어진 개수
K번 입력받음
메인함수()
T만큼 반복
M,N : 밭의 크기 MxN
K : 배추가 심어진 개수
K번 만큼 입력받음
반복문으로 map 채우기
BFS()
BFS 함수()
방문한 곳 표시
큐에 현재 위치 넣기
큐가 비어있지 않는 동안 반복
현재 위치 넣기
큐에서 현재 위치 pop
상 하 좌 우 확인 1
있으면 큐에 넣기
#include <iostream>
#include <algorithm>
#include <queue>
#include <utility>
using namespace std;
int t;
int n,m;
int k;
int cnt=0;
int map[51][51]={0,};
int visit[51][51]={0,};
int x[4] = {0,0,1,-1};
int y[4] = {1,-1,0,0};
void init() //초기화 위함
{
cnt =0;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
map[i][j] = 0;
visit[i][j] = 0;
}
}
}
void bfs(int s1, int s2)
{
queue <pair <int,int>>q;
q.push(make_pair(s1,s2));
visit[s1][s2] = 1;
while(!q.empty())
{
pair<int,int> now = q.front();
q.pop();
for(int i=0;i<4; i++)
{
int py = now.first+y[i];
int px = now.second + x[i];
if(0<= py & py < n & 0<= px & px < m & visit[py][px] == 0 & map[py][px] == 1){
visit[py][px] = 1;
q.push(make_pair(py,px));
}
}
}
}
int main()
{
cin >> t;
int x,y;
while(t>0)
{
cin >> m >>n>>k;
init();
for(int i=0; i<k; i++)
{
cin >>x>>y;
map[y][x]=1;
}
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
if(map[i][j]==1 && visit[i][j]==0)
{
bfs(i,j);
cnt++;
}
}
}
cout << cnt <<endl;
t--;
}
return 0;
}
DFS로도 풀어보기
728x90
'작고소중한 알고리즘 풀기' 카테고리의 다른 글
[ 프로그래머스 C++ ] 네트워크 - BFS로 해결 (0) | 2023.11.14 |
---|---|
[백준 C++] 11050 이항 계수1 (0) | 2023.11.09 |
[백준 C++] 2178번 미로 탐색 (0) | 2023.11.01 |
[ 백준 C++ ]1926 그림 (0) | 2023.11.01 |
[프로그래머스 C# ] 문자열의 뒤의 n글자 (0) | 2023.09.20 |
Comments