본문 바로가기
백준

[백준] 24313번 : 알고리즘 수업 - 점근적 표기 1 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 11. 9.
728x90
반응형

 

 

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

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. a1과 a0를 입력받는다. a1, a0 = map(int, sys.stdin.readline().split())
  3. 양의 정수 c를 입력받는다. c = int(sys.stdin.readline())
  4. 양의 정수 n0를 입력받는다. n0 = int(sys.stdin.readline())
  5. O(n) 정의를 만족하려면 우선 f(n0) <= cg(n0)가 만족되어야 한다. 또한 모든 n >= n0에 대해  f(n) <= cg(n)가 만족되어야 하므로 c는 무조건 a1보다 크거나 같아야 한다. O(n) 정의를 만족하면 if (a1 * n0 + a0 <= c * n0) and (a1 <= c)
  6. 1을 출력한다. print(1)
  7. 반면에 O(n) 정의를 만족하지 못하면 else
  8. 0을 출력한다. print(0)
반응형

3. 소스코드

import sys

a1, a0 = map(int, sys.stdin.readline().split())
c = int(sys.stdin.readline())
n0 = int(sys.stdin.readline())

if (a1 * n0 + a0 <= c * n0) and (a1 <= c):
    print(1)
else:
    print(0)
728x90
반응형