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 |
Tags
- List 추가
- AddRange
- 호스트
- OSI 3계층
- List 찾기
- list
- DP
- List 제거
- 호스트 주소
- TCP/IP
- C++
- c#
- 서브넷 마스크
- IP주소
- BFS
- c# list
- 기본 게이트웨이
- C# Find
- Tostring 사용법
- C# Contains
- 네트워크
- InsertRange
- 네트워크 용어
- List 정렬
- Visual Studio
- 알고리즘
- 백준
- Parse 사용법
- list 사용법
- 서브넷
Archives
- Today
- Total
CodeLabs
[백준 / C#] 1012 : 유기농 배추 본문
using System;
using System.Linq;
namespace _1012
{
class Program
{
static int t, cnt;
static int[] dy = { 0, 1, 0, -1 }, dx = { -1, 0, 1, 0 }, input;
static bool[,] vi;
static int[,] map;
static void DFS(int i, int j)
{
vi[i, j] = true;
for (int k = 0; k < 4; k++)
{
int newX = i + dx[k];
int newY = j + dy[k];
if (0 <= newX && newX < input[0] && 0 <= newY && newY < input[1])
if (map[newX,newY] == 1 && !vi[newX, newY])
DFS(newX, newY);
}
}
static void Solution()
{
for (int i = 0; i < input[0]; i++)
{
for (int j = 0; j < input[1]; j++)
{
if (map[i, j] == 1 && !vi[i,j])
{
DFS(i, j);
cnt++;
}
}
}
}
static void Input()
{
t = int.Parse(Console.ReadLine());
while(t-->0)
{
input = Console.ReadLine().Split().Select(int.Parse).ToArray();
map = new int[input[0], input[1]];
vi = new bool[input[0], input[1]];
for(int i=0; i<input[2]; i++)
{
int[] location = Console.ReadLine().Split().Select(int.Parse).ToArray();
map[location[0], location[1]] = 1;
}
cnt = 0;
Solution();
Console.WriteLine(cnt);
}
}
static void Solve()
{
Input();
}
static void Main(string[] args)
{
Solve();
}
}
}
'백준 > 1000 ~' 카테고리의 다른 글
[백준 / C#] 1463 : 1로 만들기 (0) | 2023.07.11 |
---|---|
[백준 / C#] 1260 : DFS와 BFS (0) | 2023.07.09 |
[백준 / C#] 1003 : 피보나치 함수 (0) | 2023.07.03 |
[백준 / C#] 1074 : Z (0) | 2023.06.26 |
[백준 / C#] 1389 : 케빈 베이컨의 6단계 법칙 (0) | 2023.06.22 |