※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24314번 문제인 알고리즘 수업 - 점근적 표기 2이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24314
24314번: 알고리즘 수업 - 점근적 표기 2
f(n) = 7n - 7, g(n) = n, c = 6, n0 = 1이다. f(1) = 0, c × g(1) = 6이므로 Ω(n) 정의를 만족하지 못한다.
www.acmicpc.net
주어지는 함수 \(f(n)=a_1n+a_0\)와 \(g(n)=n\)에 대하여, \(n_0\)의 값과 \(c\)의 값을 문제에서 주어진 값으로 할 때 지문에서 주어진 \(\Omega(n)\)의 정의에 부합하는지를 확인하는 문제이다.
주어진 부등식의 양변 \(f(n)\)과 \(cg(n)\) 둘 다 \(n\)에 대한 일차함수 꼴로 나타나므로, \(n=n_0\)에서의 함숫값의 비교와 양 변의 (일차함수에서의) 기울기를 비교하는 것으로 문제를 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int a1, a0, c, n0;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> a1 >> a0 >> c >> n0;
if (c <= a1 && c * n0 <= a1 * n0 + a0) cout << 1;
else cout << 0;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 2518 // C++] 회전 테이블 (0) | 2023.02.24 |
---|---|
[BOJ 2528 // C++] 사다리 (0) | 2023.02.23 |
[BOJ 27494 // C++] 2023년은 검은 토끼의 해 (0) | 2023.02.23 |
[BOJ 27495 // C++] 만다라트 만들기 (0) | 2023.02.23 |
[BOJ 24315 // C++] 알고리즘 수업 - 점근적 표기 3 (0) | 2023.02.23 |