本サイトでは、書籍のサポート情報を掲載していきます。
本書でとりあげた問題をオンラインジャッジできるAIZU ONLINE JUDGEのサイトです。
| ページ | 箇所 | 誤 | 正 | 備考 |
|---|---|---|---|---|
| 16 | 下から4行目 | 最強最速アルゴリズムマー養成講座 | 最強最速アルゴリズマー養成講座 | 1~5刷 |
| 70 | コード3行目 | for j = N-1 downto i | for j = N-1 downto i+1 | 1,2刷 |
| 71 | Program 3.2 |
1 isStable(in, out)
2 for i = 1 to N-1
3 for j = i+1 to N
4 for a = 1 to N-1
5 for b = a+1 to N
6 if in[i] と out[j] の数字が等しい
&& in[i] == out[b] && in[j] == out[a]
7 return false
8 return true
|
1 isStable(in, out)
2 for i = 0 to N-1
3 for j = i+1 to N-1
4 for a = 0 to N-1
5 for b = a+1 to N-1
6 if in[i] と in[j] の数字が等しい
&& in[i] == out[b] && in[j] == out[a]
7 return false
8 return true
|
1刷 |
| 72 | 解凍例 コード8行目 | for ( int j = N - 1; j >= i; j-- ) { |
for ( int j = N - 1; j >= i + 1; j-- ) { |
1,2刷 |
| 92 | 擬似コード 18行目 | } | }は不要 | 1刷 |
| 116 | 解答例 27,34行目 | int t = 0;、t += ans[i]; | 不要な記述につき削除 | 1,2刷 |
| 172 | 解答例 23行目 | C[i] = C[i] + C[i + 1]; | C[i] = C[i] + C[i - 1]; | 1刷 |
| 186 | 下から3行目 | 内部接点(internal node)と呼びます。 | 内部節点(internal node)と呼びます。 | 1~10刷 |
| 187 | 下から6行目 | T は接点を | T は節点を | 1~10刷 |
| 224 | 5行目 | 時間と場所に異存します。 | 時間と場所に依存します。 | 1刷 |
| 225 | 31行目 | print(S); // 3: 1 2 4 8 | print(S); // 4: 1 2 4 8 | 1,2刷 |
| 250 | Program 11.2 4行目 | return fibonacci(i - 2) + fibonacci(i - 1) | return fibonacci(n - 2) + fibonacci(n - 1) | 1,2刷 |
| 251 | Program 11.3 6行目 | return fibonacci(i - 2) + fibonacci(i - 1) | return fibonacci(n - 2) + fibonacci(n - 1) | 1,2刷 |
| 235 | 解答例 7行目 | return 2 * i + 1 | return 2 * i + 1; | 1刷 |
| 262 | 解答例 20行目 | m[i][j] = min(m[i][j], m[i][k] + m[i][k] + m[k + 1][j] + … | m[i][j] = min(m[i][j], m[i][k] + m[k + 1][j] + … | 1刷 |
| 336 | 問題文 1行目 | 重み付き無向グラフ | 重み付き有向グラフ | 1,2刷 |
| 336 | 問題文 入力 下より2行目 | i番目の辺が結ぶ(無向) | i番目の辺が結ぶ(有向) | 1,2刷 |
| 381 | Program 16.18 タイトル |
直線 s と点 p の距離 | 直線 l と点 p の距離 | 1刷 |
| 409 | Program 16.28 平面走査の解答例 55,56行目 |
55 set<int>::iteretor b = lower_bound( |
55 set<int>::iteretor b = BT.lower_bound( |
1,2刷補足1: |
| 427 | 解答例 8-14行目 |
for ( int i = 0; i < H; i++ ) {
for ( int j = 0; j < W; j++ ) {
dp[i][j] = (G[i][j] + 1) % 2;
}
}
int maxWidth = 0;
|
int maxWidth = 0;
for ( int i = 0; i < H; i++ ) {
for ( int j = 0; j < W; j++ ) {
dp[i][j] = (G[i][j] + 1) % 2;
maxWidth |= dp[i][j];
}
}
|
1刷 補足2: |
| 446 | Program 18.7 1行目 | pos(x, n) | pow(x, n) | 1~3刷 |
補足1: "誤"のコードでは、 O(N) で動作してしまうため、std::set が持つ関数を利用します。
補足2: "誤"のコードでは、HまたはWが1の入力に対して不正解となる可能性があります。
スタックオーバーフローを回避するために、配列dpとGは大域変数として宣言するか、動的にメモリを確保してください。