728x90
SMALL
백준 문제 풀이: 11312 [삼각 무늬 - 2]
문제 링크: https://www.acmicpc.net/problem/11312
문제 설명:
정사각형 a × a
안에 정사각형 b × b
를 최대한 많이 채울 때 들어가는 b × b
정사각형의 개수를 구하는 문제입니다.
즉, a × a
를 b × b
로 나눈 몫을 계산합니다.
문제 해결 코드
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int T;
cin >> T; // 테스트 케이스 개수 입력
while (T--) {
long long int a, b;
cin >> a >> b; // 두 정사각형의 변 길이 입력
long long int A = a * a; // 큰 정사각형의 넓이
long long int B = b * b; // 작은 정사각형의 넓이
cout << A / B << '\n'; // 큰 정사각형에 들어갈 수 있는 작은 정사각형 개수 출력
}
return 0;
}
예제 입력:
2
10 5
12 3
예제 출력:
4
16
코드 설명
- 핵심 알고리즘: 간단한 정수 나눗셈을 활용하여 정사각형의 개수를 구합니다.
- 구현 세부사항:
a × a
를 계산하여 전체 면적을 구합니다.b × b
를 계산하여 작은 정사각형의 면적을 구합니다.- 두 면적을 나눈 값
A / B
가 정답이 됩니다.
- 시간 복잡도: O(1), 모든 연산은 상수 시간 내에 수행됨
결과
큰 정사각형 안에 작은 정사각형이 몇 개 들어가는지를 빠르게 계산할 수 있습니다. 간단한 정수 연산을 활용하는 문제로, 기본적인 수학 문제를 연습하기 좋습니다. 추가적인 질문이나 개선 사항이 있다면 댓글로 알려주세요!
728x90
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 11023번 [더하기 3](C++) -yes6686- 티스토리 (0) | 2025.03.27 |
---|---|
백준 11134번 [쿠키애호가](C++) -yes6686- 티스토리 (0) | 2025.03.26 |
백준 2399번 [거리의 합](C++) -yes6686- 티스토리 (0) | 2025.02.11 |
백준 21921번 [블로그](C++) -yes6686- 티스토리 (0) | 2025.02.07 |
백준 6588번 [골드바흐의 추측](C++) -yes6686- 티스토리 (0) | 2025.02.07 |