본문 바로가기

백준46

[개쉬운 풀이] 백준 1915 가장 큰 정사각형 (CPP/C++) https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 생각 정사각형은 무엇인가? 모든 변의 길이가 같고 모든 각이 직각을 이루는 사각형이다. 근데 문제에 각은 90도로 고정이 된 상태이고 길이만 생각을 하면 되겠구나! 그렇다면 좌측 상단부터 우측 하단으로 이동하면서 각 위치에서 만들 수 있는 가장 큰 정사각형을 구하고 마지막에 어떤 크기가 가장 큰지 보면 되겠구나라고 생각하였다. 여기서 문제는 각 위치에서 만들 수 있는 가장 큰 정사각형을 어떻게 구하냐이다. 나의 결론은 다음과 같다. 정사각형을 이루기 위해서는 0이 존.. 2024. 3. 4.
[개쉬운 풀이] 백준 22943 수 (CPP/C++) https://www.acmicpc.net/problem/22943 생각 해당 문제에서 시각적으로 주어진 조건은 2개이지만 총 3가지 조건을 이용하여 해결해야한다. 0부터 9까지 K가지의 숫자를 한 번씩만 사용하여 만들 수 있는 수 서로 다른 두 개의 소수의 합으로 나타낼 수 있는 경우 M으로 나누어 떨어지지 않을때까지 나눈 수가 두 개의 소수의 곱인 경우, 이 때, 두 개의 소수가 같아도 된다. 해당 문제에서 소수를 사용해야 하므로 '에라토스테네스의 체'를 사용한다. (문제에 소수가 나오면 그냥 아리스토텔레스든 에라토스뭐시기든 해당 체를 사용해야한다고 무조건 염두한다) 에라토스테네스의 체 구현 bool primeNum[100001]; void getPrime(){ memset(primeNum, true.. 2024. 3. 4.