質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

439閲覧

[Python]AtCoder Beginner Contest 113 のC問題でWAになる理由がわからない

reud

総合スコア21

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/11/05 06:21

AtCoder Beginner Contestに参加したのですが、どうしても自分の解法が間違っている理由が分からないためこちらに質問させていただきます。
問題はこちらです
https://abc113.contest.atcoder.jp/tasks/abc113_c
自分の解法は以下に記します。

Python3.4.2

1N, M = map ( int, input ( ).split ( ) )# N,Mを取得 2#初期化 3lists = [ ] 4#listに要素を追加 後で並び変えるため並び替える前の順番を示すキーを第三要素に挿入しておく 5for i in range ( M ): 6 lists.append ( list ( map ( int, input ( ).split ( ) ) ) + [ i ] ) 7#第一要素に昇順で並び替えた後、第二要素で昇順に並び替える 8lists.sort ( key=lambda x: x[ 0 ] ) 9lists.sort ( key=lambda x: x[ 1 ] ) 10# befは前回の第一要素 stateは第一要素での順位 11bef = 0 12state = 0 13retstr = '' 14triple = [ ]#第四要素に識別番号を追加したリストの初期化 15for i in lists: 16 if (i[ 0 ] != bef): 17 bef = i[ 0 ] 18 state = 1 19 triple.append ( [ i[ 0 ], i[ 1 ], i[ 2 ], str ( i[ 0 ] ).rjust ( 6, '0' ) + str ( state ).rjust ( 6, '0' ) ] ) 20 else: 21 state += 1 22 triple.append ( [ i[ 0 ], i[ 1 ], i[ 2 ], str ( i[ 0 ] ).rjust ( 6, '0' ) + str ( state ).rjust ( 6, '0' ) ] ) 23 24triple.sort ( key=lambda x: x[ 2 ] )#第三要素で並び替えて、元の入力に対応した式ベンツ番号の順番に戻す 25for i in triple: 26 print ( i[ 3 ] )#識別番号の出力 27

間違ってる部分を教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

lists.sort ( key=lambda x: x[ 0 ] ) lists.sort ( key=lambda x: x[ 1 ] )

ではなく

lists.sort ( key=lambda x: x[ 1 ] ) lists.sort ( key=lambda x: x[ 0 ] )

では。

投稿2018/11/05 07:01

calkinos

総合スコア452

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reud

2018/11/05 07:09

その通りでした・・・ 納得はいったのですがいまだに仕組みが分かりません・・・
calkinos

2018/11/05 11:38

2 3 1 63 2 32 1 12 という入力に対して、修正前と修正後でソート済の状態を出力して比べてみてはいかがでしょうか。
reud

2018/11/16 06:05

よく理解できました!!ありがとうございました!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問