[BOJ 1436]映画監督
2046 ワード
質問する
リンク
に答える
初めて問題を見たときは簡単な問題だと思った.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
Reference
この問題について([BOJ 1436]映画監督), 我々は、より多くの情報をここで見つけました
https://velog.io/@kimdukbae/BOJ-1436-영화감독-숌-Python
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
初めて問題を見たときは簡単な問題だと思った.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
Reference
この問題について([BOJ 1436]映画監督), 我々は、より多くの情報をここで見つけました
https://velog.io/@kimdukbae/BOJ-1436-영화감독-숌-Python
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
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
Reference
この問題について([BOJ 1436]映画監督), 我々は、より多くの情報をここで見つけました https://velog.io/@kimdukbae/BOJ-1436-영화감독-숌-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol