DataStructure 2 00 Yapokemon Master Dasomです(1620)
6072 ワード
DataStructure 2 00ポケモンマスター李多順(1620)
質問する
多順は本物のポケモンマスターになるために図鑑を完成しなければならない.まず、あなたが持っているポケモン図鑑で、ポケモンの名前を見るとポケモンの番号が出たり、ポケモンの番号を見るとポケモンの名前が出たりする練習をします.もし私が試験に合格したら、新しく作った図鑑をあげます.
入力
1行目は図鑑のポケモンの数Nと私が答える質問の数MですNとMは1以上、100000未満の自然数ですが、自然数とは何か知っていますか?知らなければ聞いても大丈夫です.私はいつでも質問に答える準備ができています.
2行目からN行目、ポケモン番号1のポケモンからN番に相当するポケモンまで、行ごとに1つずつポケモンを入力します.ポケモンの名前は英語で書かれています.そして、うん...最初の字だけが大文字で、残りの文字は小文字だけです.そうだ.一部のポケモンは最後の文字だけが大文字かもしれません.ポケモンの名前の最大長さは20最小長さは2次の行から私が答える質問を入力します.問題がアルファベット形式で発生した場合はポケモン番号、数字形式で発生した場合はポケモン番号に対応する文字を出力する必要があります.入力した数字は1以上、N以下でなければならない.入力した文字は図鑑のポケモンの名前だけを与えなければならない.では頑張ります!
しゅつりょく
1行目から順にM行で質問ごとの答えを言えばいい!!数字を入力して、該当する数字のポケモンの名前を入力して、文字を入力して、ポケモンの名前に対応する番号を出力すればいいです.では、ありがとうございます.
に答える
コード#コード#
import sys
#sys.stdin = open("input.txt", "rt")
def input():
return sys.stdin.readline().rstrip()
N, M = map(int,input().split())
pocket = dict()
for i in range(1,N+1):
name = input()
pocket[i] = name
# reverse한 dict를 새로 생성한다.
reverse_pocket = dict(map(reversed,pocket.items()))
for x in range(M):
search = input()
# str.isdigit()메서드로 파이썬에서 문자열이 정수인지 확인가능하다!! True, False로 반환
if search.isdigit():
print(pocket[int(search)])
else:
print(reverse_pocket[search])
学識
mapで各値を割り当てることができます...顔つき
dictはitemsでアクセスできます
コメント
お願いします.
def input():
return sys.stdin.readline().rstrip()
これを使わなかったのでタイムアウト2時間はどうしてだめですか.でも最後はそれを使わなかった.Pythonだからタイムアウトタコㅠㅠ无言...タイムアウトのコードも見てみましょうか?タイムアウトコード
4065086
ドアが開きすぎてタイムアウト
40656303
クエリーを続けるとタイムアウトします>もちろんです.
ドアが開きすぎてタイムアウト
タイムアウトされていないコード
4056129
mapを使用した逆dictクエリー値の作成
40656194
for文はrecvese dictクエリ値を一度に生成し、上記の方法と似ていますがmapは使用しません.
わあ、力が強すぎる.
問題はもう30分も解決した.
なぜタイムアウトしたのか分からないので+90分かかりました...次はぜひ.
def input():
return sys.stdin.readline().rstrip()
使おう~~~
Reference
この問題について(DataStructure 2 00 Yapokemon Master Dasomです(1620)), 我々は、より多くの情報をここで見つけました https://velog.io/@angel_eugnen/DataStucture200나는야-포켓몬-마스터-이다솜1620テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol