백준

백준 2563번 c#

대왕군 2024. 1. 23. 16:29

 

using System;

namespace Baekjoon
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //그냥 콘솔창 예쁘게 꾸미는 코드(심심해서 넣음)
            Console.BackgroundColor = ConsoleColor.DarkCyan;

            //이 문제를 풀때 좌표를 생각하기로 하자
            //왼쪽 맨 아래 지점이 0,0임
            //이 기준으로 100 x 100 칸의 bool형의 이차원배열을 만들어 사용할거임
            //검은색종이가 해당되는 곳은 true이고 아닌 곳은 false임

            //검은색종이를 넣을 수
            int count = int.Parse(Console.ReadLine());
            //검은 색종이 위치를 넣을 임시변수
            string[] input;

            //하얀도화지를 나타내는 이차원배열
            bool[,] whitePaper = new bool[100, 100];

            //결과값(하얀도화지에서 검은 색종이가 차지하는 크기)을 저장할 변수
            int result = 0;

            //검은색종이를 넣을 수만큼 반복
            for (int i = 0; i < count; i++)
            {
                //검은색종이의 위치를 입력함
                input = Console.ReadLine().Split();

                //임시변수 x,y에 검은색종이의 위치를 x,y좌표별로 나누어 저장해줌
                int x = int.Parse(input[0]);
                int y = int.Parse(input[1]);
                //x좌표의 시작지점부터 x+10 직전의 지점까지(x+9)
                //즉 검은색종이의 변의 길이인 10번 반복한다는 거임
                for (int k = x; k < x + 10; k++)
                {
                    //y좌표의 시작지점부터 y+10 직전의 지점까지(y+9)
                    //즉 검은색종이의 변의 길이인 10번 반복한다는 거임
                    for (int p = y; p < y + 10; p++)
                    {
                        //좌표에 맞는 칸에 true를 대입해줌
                        whitePaper[k, p] = true;
                    }
                }
            }

            //그럼 이제 검은색종이가 가려져있는 곳은 true
            //그렇지 않은 곳은 false 상태가 되었음

            //하얀도화지의 변의 길이인 100을 이용하여 좌표를 0,0부터 100,100까지
            //검은색종이가 있는지 확인할거임
            for (int i = 0; i < 100; i++)
            {
                for (int k = 0; k < 100; k++)
                {
                    if (whitePaper[i, k] == true)
                    {
                        //만약 확인중인 좌표칸이 true라면 result에 1을 더함
                        result++;
                    }
                }
            }
            //결과 출력
            Console.WriteLine(result);

        }

    }
}

'백준' 카테고리의 다른 글

백준 11005번 c#  (0) 2024.01.25
백준 2745번 c#  (0) 2024.01.24
백준 10798번 c#  (0) 2024.01.22
백준 2566번 c#  (0) 2024.01.22
백준 2738번 c#  (0) 2024.01.21