[백준] 24313번 알고리즘 수업 - 점근적 표기 1 Java 문제 풀이

2023. 4. 4. 18:01알고리즘/백준

728x90
반응형

문제풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

interface Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;

        String[] arr = br.readLine().split(" ");
        int a1 = Integer.parseInt(arr[0]), a0 = Integer.parseInt(arr[1]);
        int c = Integer.parseInt(br.readLine());
        int n0 = Integer.parseInt(br.readLine());

        int result = (a1 * n0 + a0 <= c * n0) && (c >= a1)?1:0;
        System.out.println(result);
    }
}

처음에 $a_{1},a_{0},c,n_{0}$ 을 입력받습니다.

 

$O(n)$ 정의를 만족하려면

$a_{1}n+a_{0} \leq cn_{0}$ 이어야 합니다.

 

추가로 주어진 부등식 특성상 $c \leq a_{1}$ 이어야 합니다.

두 조건을 만족할 때 1, 아니면 0을 출력합니다.

 

 

출처 : https://www.acmicpc.net/problem/24313

 

24313번: 알고리즘 수업 - 점근적 표기 1

f(n) = 7n + 7, g(n) = n, c = 8, n0 = 1이다. f(1) = 14, c × g(1) = 8이므로 O(n) 정의를 만족하지 못한다.

www.acmicpc.net

 

728x90
반응형