[BOJ 1436]映画監督


質問する


リンク

に答える


初めて問題を見たときは簡単な問題だと思った.N=1の場合にのみ666を出力し、N>1の場合には(N-1)666を出力するのは簡単な問題である.でも、よく見ると罠が...
問題のように、「N本目の映画の名前はN番目の末日の数字」という点を見るべきだ.666, 1666, 2666, 3666, 4666, 5666, ... 流れ.この時、次の映画の7番目の名前は6666ではなく6660です!つまり、6660、6661、6662、...自然に従う.以上のポイントを押さえておけば、気軽に問題を解くことができます.

コード#コード#

import sys

N = int(sys.stdin.readline())

# 시간복잡도 조금이라도 줄이기 위해 666부터 시작
cnt, movie = 0, 666
while 1:
    if '666' in str(movie):
        cnt += 1
        if cnt == N:
            print(movie)
            break
    movie += 1