前回Cの問題が解けなかったので,毎日C問題の過去問を解いていく.
今日はABC113-C.
普通に分からなくて泣きながら他の人の回答をガン見して,コメントを打ちながら咀嚼.
Main.py
N, M = map(int, input().split())
D = [[] for i in range(N)]
for i in range(M):
p, y = map(int, input().split())
D[p-1].append((y, i)) #市ごとにリストに入れる.この時,元の順番をタプルの1番目の要素として入れておく
ans = [None]*M
for i, d in enumerate(D): #enumerateは要素の中身とインデックス番号を持ってこれる.print(i, d)で確認
d.sort()
for k, (y, j) in enumerate(d): #こちらも同様.(y, j)となっているため,yには年数が,jには元の順番の情報が入る
ans[j] = str(i+1).zfill(6) + str(k+1).zfill(6) #ans[j]に12桁の認識番号を挿入
print(*ans, sep = '\n')
#普通にprint(ans)とするとリストが出力される
#print(*ans)とすると,リストの要素がスペース区切りで出力される
#printのオプションsepで,文字の区切りをスペース出なく,改行に指定
最後のprintで,*ansと書くとリストが外れる理由がよく分からない.