πŸ“¦ Changgo/[BOJ] λ‹¨κ³„λ³„λ‘œ 풀어보기

[BOJ][C++] λ°±μ€€ 24313번: μ•Œκ³ λ¦¬μ¦˜ μˆ˜μ—… - 점근적 ν‘œκΈ° 1 (Silver V)

선달 2025. 1. 7. 04:14
λ°˜μ‘ν˜•

문제

μ˜€λŠ˜λ„ μ„œμ€€μ΄λŠ” 점근적 ν‘œκΈ° μˆ˜μ—… 쑰ꡐλ₯Ό ν•˜κ³  μžˆλ‹€. μ•„λΉ κ°€ μˆ˜μ—…ν•œ λ‚΄μš©μ„ 학생듀이 잘 μ΄ν•΄ν–ˆλŠ”μ§€ 문제λ₯Ό ν†΅ν•΄μ„œ ν™•μΈν•΄λ³΄μž.
μ•Œκ³ λ¦¬μ¦˜μ˜ μ†Œμš” μ‹œκ°„μ„ λ‚˜νƒ€λ‚΄λŠ” O-ν‘œκΈ°λ²•(λΉ…-였)을 λ‹€μŒκ³Ό 같이 μ •μ˜ν•˜μž.
O(g(n)) = {f(n) | λͺ¨λ“ n≥n0에 λŒ€ν•˜μ—¬f(n) ≤c×g(n)인 μ–‘μ˜ μƒμˆ˜c와n0κ°€ μ‘΄μž¬ν•œλ‹€}
이 μ •μ˜λŠ” μ‹€μ œ O-ν‘œκΈ°λ²•(https://en.wikipedia.org/wiki/Big_O_notation)κ³Ό λ‹€λ₯Ό 수 μžˆλ‹€.
ν•¨μˆ˜f(n) =a1n+a0, μ–‘μ˜ μ •μˆ˜c,n0κ°€ μ£Όμ–΄μ§ˆ 경우 O(n) μ •μ˜λ₯Ό λ§Œμ‘±ν•˜λŠ”μ§€ μ•Œμ•„λ³΄μž.

μž…λ ₯

첫째 쀄에 ν•¨μˆ˜f(n)을 λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜a1,a0κ°€ μ£Όμ–΄μ§„λ‹€. (0 ≤ |ai| ≤ 100)
λ‹€μŒ μ€„에 μ–‘μ˜ μ •μˆ˜cκ°€ μ£Όμ–΄μ§„λ‹€. (1 ≤c≤ 100)
λ‹€μŒ μ€„에 μ–‘μ˜ μ •μˆ˜n0κ°€ μ£Όμ–΄μ§„λ‹€. (1 ≤n0≤ 100)

좜λ ₯

f(n),c,n0κ°€ O(n) μ •μ˜λ₯Ό λ§Œμ‘±ν•˜λ©΄ 1, μ•„λ‹ˆλ©΄ 0을 좜λ ₯ν•œλ‹€.

 

풀이

// 풀이 : https://whkakrkr.tistory.com

#include <iostream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
	cout.tie(NULL);
	cin.tie(NULL);
	
	int a1,a0,c,n;
	cin >> a1 >> a0 >> c >> n;
	
	bool flag = true;
	for(int i=n; i<=100; i++) {
	    int f = a1*i + a0;
	    int g = c*i;
	    if(f>g) {
	        flag = false;
	    }
	}
	
	cout << flag;
	
    
    return 0;
}
λ°˜μ‘ν˜•