回答編集履歴
1
具体例を追加
answer
CHANGED
@@ -4,4 +4,9 @@
|
|
4
4
|
|
5
5
|
質問のコメントでZuishinさんが指摘している通り、こちらのコードだと質問の回数が20回を超える場合があり、その後のジャッジが常に-1を返し続けるので、無限ループになっているのでしょう。
|
6
6
|
|
7
|
-
ルークの置かれていない列は、必ず`left`と`right`の間にあるため、`left == right`になれば、質問するまでもなくルークの数は0となります。こちらのパターンで質問をしないようにしてあげれば、質問回数が20回に収まるはずです。
|
7
|
+
ルークの置かれていない列は、必ず`left`と`right`の間にあるため、`left == right`になれば、質問するまでもなくルークの数は0となります。こちらのパターンで質問をしないようにしてあげれば、質問回数が20回に収まるはずです。
|
8
|
+
|
9
|
+
> 具体的にどのような例においてループから抜けられないのか
|
10
|
+
|
11
|
+
具体的には、N=1000で、1行目・1列目にルークが置かれていない場合です。
|
12
|
+
こちらで実行経路をトレースすれば、問題を再現できると思われます。
|