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

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

新規登録して質問してみよう
ただいま回答率
85.35%
コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

567閲覧

AtCoder Library Practice Contest 'A - Disjoint Set Union'時間超過の原因

Watarungurunnn

総合スコア6

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/01 13:53

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

printを挿入して試したが、37行目のfor loop の二回目でTLEとなる。

該当のソースコード

python3

1def search(z, w): 2 i = 0 3 while i < len(con): 4 if z in con[i] and w in con[i]: 5 return 1 6 break 7 else: 8 i += 1 9 return 0 10 11def add_edge(x, y): 12 j = 0 13 while j < len(con): 14 h = 0 15 if x in con[j]: 16 while h < len(con): 17 if y in con[h]: 18 con[j].extend(con[h]) 19 del con[h] 20 break 21 else: 22 h += 1 23 con[j].append(y) 24 else: 25 while h < len(con): 26 if y in con[h]: 27 con[j].append(x) 28 break 29 else: 30 h += 1 31 con.append([x, y]) 32 33N, Q = map(int, input().split()) 34 35con = [[]] 36 37for i in range(Q): 38 t, u, v=map(int, input().split()) 39 40 if t == 0: 41 if search(u, v) == 0: 42 add_edge(u, v) 43 print(con) 44 45 elif t == 1: 46 print(search(u, v)) 47

試したこと

各所にprintを挿入して検証したが、37行目のfor loop一回目は正常。二回目のt,u,v取得時にTLE。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python

1def add_edge(x, y): 2 j = 0 3 while j < len(con):

これ以降jが変更されないので無限ループになります。

投稿2021/05/01 14:05

yudedako67

総合スコア2047

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問