[白俊]162021929-Python 3
1929.小数を求める
https://www.acmicpc.net/problem/1929
私の答え-成功
M, N = map(int, input().split())
nums = [1]*(N+1)
nums[0], nums[1] = 0, 0
r = int(N**0.5)
for i in range(2, r+1):
if nums[i]:
for j in range(i+i, N+1, i):
nums[j] = 0
for i in range(M, N+1):
if nums[i]:
print(i)
私は以前見たエラトステネスの死体でそれを解いた.大きい数Nに等しいnumsを作成して1に初期化する
2からルートNまでの番号の倍数をすべて0に変更
(0,1度は0)
nums値が1の数字は少数なので、MからNの数字を見て1万個出力できます
1620.私はポケモンマスター李多順です
https://www.acmicpc.net/problem/1620
私の答え-成功
from sys import stdin
N, M = map(int, stdin.readline().split())
ans = [0] * (M)
nums = {}
names = {}
for i in range(N):
inp = stdin.readline().strip()
nums[i+1] = inp
names[inp] = i+1
for i in range(M):
Q = stdin.readline().strip()
if Q.isdigit():
print(nums[int(Q)])
else:
print(names[Q])
key値という名前のdicksherry numsとキー値として数値を作成して保存するバイナリ名
M個の入力を受信してデジタル面numsの値を印刷する
またはnameの値を印刷する
この問題は問題そのものの難易度よりもタイムアウト解決が肝心だ.
=> {"1": "Pikachu", "Pikachu": "1", ... }
... など様々な方法で
でもダメだと思いinput()の代わりにstdinを使いましたreadline()の使用
ディック・シャナリー&stdin.readline()&直接利用出力でパスしました.
白準Python 3速度の改善
stdin比
数値を入力する場合はstrip()ではなくint()を使用します.
また、map()の使い方はinput()と同じです
ex) s += a + '\n' & print(s)
Reference
この問題について([白俊]162021929-Python 3), 我々は、より多くの情報をここで見つけました https://velog.io/@jsh5408/백준-1620-1929-Python3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol