1.まずは最も簡単な Fish
ベースセットとカバーセットは必ず一緒に使うので、2つまとめて理解すると良いでしょう。
そこで、いくつか具体例を挙げながらこの2セットを解説していくことにします。
……と、その前に。
ひとつ、白状します。
セクション1234、どれも内容が同じです。本当に一言一句レベルでおんなじ😅
だから、このページを一気に読むことはオススメしません。読んでて飽きるもん。絶対飽きる😅
とりあえずセクション12を理解すると良いでしょう。34は高難度なので、余力があればヒマつぶし程度にでも。
1-1.ベースセットとカバーセット
では、解説していきましょう!
まずは最も簡単な例です。
青色のヨコ2列において数字1の入り得るマスを探した時、各列に2カ所ずつしかなかったとしましょう。
図1-1 ★の位置です。
この4つの★マスについて、次のことが成り立ちます。
どの★マスも青色ヨコ2列に属している。
そりゃそうだ😅
見りゃわかる😅
じゃぁ、視点を変えてこんなことを考えてみましょう。
この4つの★マスをすべて含むタテ2列って……あるのかな?
どうでしょう? ヨコではなくタテ2列です。
果たしてあるんでしょうか?
実は……あるんです!
図1-2、黄色のタテ2列が4つの★マスをすべて含んでいますね。
というわけで、前図1-1 からはこういう状況になりました。
- 青色ヨコ2列において、数字1の入り得るマスは2カ所ずつ(★の位置)しかなかった。
- そして、その★マスすべてを黄色タテ2列で覆い尽くせた!
青色と黄色、2つのセットが現れましたね。
この2つがキーとなって、論理展開が繰り広げられていくことになります。
さて、ここでマスについてちょいと確認しておきます。
★以外の青色マスに数字1は入りません。
そして、★以外の黄色マスに数字1が入るか否かは問いません。
現時点では、数字1に関して青色列と黄色列には少し違いがあるんですね。
しかし、それを覆す結論がこのあと待っています。
それは 図1-3 にて。
ここで、ベースセットとカバーセットの説明をしましょう。
図1-2 の状況になった時、最初の青色2列のことを ベースセット と呼びます。
そして、★マスを覆い尽くした黄色2列のことを カバーセット と呼びます。
図1-2 ではベースセットもカバーセットも2列で構成されていますが、実は、これはすごく重要です。
ベースセットとカバーセット、両者の列の個数は必ず同じでなければいけません。
一方が2列なら他方も2列。
注意しましょう!
1-2.どういう結論になるの?
図1-2 ではベースセットとカバーセットが登場しました。
ベースセットでは、★以外の青色マスに数字1は入りません。
カバーセットでは、★以外の黄色マスに数字1が入るか否かは問いません。
現時点では「黄色マスに1の入る可能性はあるよね😃」なんですね。
ところが!
ベースセットとカバーセットが見つかった時、こういう結論が待っているんです。
- カバーセットにおいて、★以外のすべてのマスに1を入れられなくなる。
図1-3 だと×印のマスが該当します。
そのマスに数字1を入れられなくなるという!
うゎ〜、ものすごいバツだらけ! ★以外の黄色マス、全滅!
今までは、カバーセットの黄色マスのどこかに数字1が入るかもしれなかった。
しかし、それは完全に否定されることとなったのです。
カバーセットにおいても数字1の入り得る場所は★マスに絞られる。ベースセットと同じ状態になってしまうんです。
なぜこういう結論になるんだろう?
それを説明しましょう。
今、黄色タテ列を一旦忘れて、青色ヨコ列に試しに数字1を1個ずつ入れてみることにします。
さて、1の入れ方は全部で何通りあるでしょう?
答えは 図1-4 の2通りです。
さて、この2通りから何が言えるのか。
どちらのパターンもこういう状況になっているんです。
- どちらの黄色タテ列を見ても、数字1は必ず★マスに入っている。
青色列に数字1を入れていっただけなのに、どうしても黄色列はこの状態になってしまう。
そのため、黄色タテ列において★以外のマスに1が入る可能性はないんですね。
図1-3 の結論通りになりましたね😄
図1-3 の結論をもう少し詳しく言うと、次のようになります。
- カバーセット内部のすべての列において、数字1の入る場所は★マスに制限される。
よって、カバーセット内部の★以外のマスに数字1は入れられない。
これが最終的な結論です。
上記の例では、ヨコ列がベースセット、タテ列がカバーセットでした。
もちろん、タテヨコ逆でも理屈はまったく同じです。
2行2列のベースセット&カバーセットを使った解法は X-Wing と呼ばれています。
解法の詳細は X-Wing のページをご覧ください。
2.ちょっと難しい Fish
セクション1ではタテヨコ2列同士のパターンを解説しました。
今度は列を1つずつ増やしてみます。
話の内容はほとんど同じですが、ちょっとだけ複雑になります。
2-1.ベースセットとカバーセット
青色のヨコ3列において数字1の入り得るマスを探した時、各列に3カ所ずつしかなかったとしましょう。
図2-1 ★の位置です。
この9つの★について、次のことが成り立ちます。
どの★も青色ヨコ3列に属している。
もちろんそうさ😅
言うまでもないさ😅
じゃぁ、視点を変えてこんなことを考えてみましょう。
この9つの★マスをすべて含むタテ3列って……あるのかな??
どうでしょう? そういうタテ3列はあるんでしょうか?
あるんです!
図2-2、黄色のタテ3列が9つの★をすべて含んでいますね。
というわけで、図2-1 からはこういう状況になりました。
- 青色ヨコ3列において、数字1の入り得るマスは3カ所ずつ(★の位置)しかなかった。
- そして、その★マスすべてを黄色タテ3列で覆い尽くせた!
青色と黄色、2つのセットが出てきましたね。
この2つがキーとなって、論理展開が繰り広げられていくことになります。
さて、ここでマスについてちょいと確認しておきます。
★以外の青色マスに1は入りません。
そして、★以外の黄色マスに1が入るか否かは問いません。
現時点では、数字1に関して青色列と黄色列には少し違いがあるんですね。
しかし、それを覆す結論がこのあと待っているんです。
それは 図2-4 にて。
ここで、ベースセットとカバーセットの説明をしましょう。
図2-2 の状況になった時、最初の青色3列のことを ベースセット と呼びます。
そして、★マスを覆い尽くした黄色3列のことを カバーセット と呼びます。
図2-2 ではベースセットもカバーセットも3列で構成されていますが、実は、これは凄く重要です。
ベースセットとカバーセット、両者の列の個数は必ず同じでなければいけません。
一方が3列なら他方も3列。
注意しましょう!
上記の例では、数字1の入り得る★マスがタテヨコ3列に整列していました。
しかし、本当は★がキッチリ9個である必要はありません。
図2-3 では★が2個少ないですが、それでもかまいません。
大事なのは、ベースセット内部にあるすべての★マスがカバーセットで覆われているということです。
それさえ満たしていれば、★の個数は関係ありません。
図2-2 では「1の入り得るマスは3カ所ずつ」と説明しましたが、ちょっとだけ説明不足でした。
キッチリ3カ所ではなく、最大3カ所 が正しい言い方です。
ゴメンなさ~い😅
2-2.どういう結論になるの?
図2-2 ではベースセットとカバーセットが登場しました。
ベースセットでは、★以外の青色マスに数字1は入りません。
カバーセットでは、★以外の黄色マスに数字1が入るか否かは問いません。
現時点では「黄色マスに1が入る可能性はあるんだね😃」なんですね。
ところが、結論はこうなります。
- カバーセットにおいて、★以外のすべてのマスに1を入れられなくなる。
図2-4 だと×印のマスが該当します。
そのマスに数字1を入れられなくなるんです。
ぶゎ〜、ことごとくバツだらけ! ★以外の黄色マス、全滅!
今までは、黄色マスに数字1の入る可能性がありました。
けれど、その可能性は完全に消え去るというわけです。
カバーセットにおいても数字1の入り得る場所は★マスに絞られる。ベースセットと同じ状態になっちゃうんです。
なぜこういう結論になるんだろう?
それを説明しましょう。
今、黄色タテ列を一旦忘れて、青色ヨコ列に試しに数字1を1個ずつ入れてみることにしましょう。
さて、1の入れ方は全部で何通りあるでしょう?
答えは6通りです。
全パターンをこのページに挙げてみました。図2-5 はその一例です。
実は、この6通りのパターンには大きな共通点があります。
- どの黄色タテ列を見ても、数字1は必ず★マスに入っている。
青色列に数字1を入れていっただけなのに、どうしても黄色列はこの状態になってしまう。
そのため、黄色タテ列において★以外のマスに1が入る可能性はないんですね。
図2-4 の結論通りになりましたね😄
図2-4 の結論をもう少し詳しく言うと、次のようになります。
- カバーセット内部のすべての列において、数字1の入る場所は★マスに制限される。
よって、カバーセット内部の★以外のマスに数字1は入れられない。
これが最終的な結論です。
上記の例では、ヨコ列がベースセット、タテ列がカバーセットでした。
もちろん、タテヨコ逆でも理屈は同じです。
3行3列のベースセット&カバーセットを使った解法は Swordfish と呼ばれています。
解法の詳細は Swordfish のページをご覧ください。
2-3.さらに大きな Fish の場合
これまでのセクションでは2列同士や3列同士の場合を説明してきましたが、4列以上の場合も同じです。
例えば、4行4列の場合はこんな感じ。
- 青色ヨコ4列において、数字1の入り得るマスは4カ所ずつ(★の位置)しかなかった。
- そして、その★マスすべてを黄色タテ4列で覆い尽くせた!
青色4列がベースセットで、黄色4列がカバーセットです。
両者の列の個数が同じというところにも注意しましょう。
4行4列の場合も結論はこうなります。
- カバーセット内部のすべての列において、必ずどれかの★マスに数字1が入る。よって、カバーセット内部の★以外のマスに数字1は入れられない。
図2-6 の通り、カバーセットはことごとくバツだらけ。
黄色マスは全滅です。
また、図2-3 の補足と同様のことも成り立ちます。
★の個数が16個より少なくてもOKです。
4行4列のベースセット&カバーセットを使った解法は Jellyfish と呼ばれています。
解法の詳細は Jellyfish のページをご覧ください。
実は、Fish は2〜7列すべてに名前が付いています。
列数に対して固有の名前が付いているのもまた面白いですね。
- 【2列】
- X-Wing
- 【3列】
- Swordfish
- (メカジキ)
- 【4列】
- Jellyfish
- (クラゲ)
- 【5列】
- Squirmbag
- (造語? 誰か教えて~😅)
- 【6列】
- Whale
- (クジラ)
- 【7列】
- Leviathan
- (レヴィアタン, リバイアサン)
3.ブロックを含む Fish もあるよ!
今までは、ベースセットもカバーセットも列のみで構成されていました。
実は、両者の一方にのみブロックが交じるパターンも存在します。
このセクションでは、そのパターンについて解説していきます。
……とその前に、用語を1つご紹介。
タテ列・ヨコ列・ブロックをひっくるめた総称があります。それを house と言います。
これは英語のナンプレ解説サイトでも使われている用語で、英語の解説を読むと house というワードがやたらと現れます。
以降では、house はタテ列・ヨコ列・ブロックのどれかを指すものだと考えてください。
3-1.ベースセットとカバーセット
3個の青色 house(ヨコ2列&ブロック1個)において数字1の入り得るマスを探した時、★の位置にしかなかったとしましょう(図3-1)。
この12個の★について、次のことが成り立ちます。
どの★も3個の青色 house に属している。
そりゃそーだ😅
当たり前すぎてホントすいません😅
では、視点を変えてこんなことを考えてみましょう。
この12個の★をすべて含むタテ3列って……あるのかな??
どうでしょう? そういうタテ3列はあるんでしょうか?
あるんです!
図3-2、黄色のタテ3列が12個の★をすべて含んでいますね。
というわけで、前図3-1 からはこういう状況になりました。
- 3個の青色 house において、数字1の入り得るマスは★だけだった。
- そして、その★マスすべてを黄色タテ3列で覆い尽くせた!
青色と黄色、2つのセットが出てきましたね。
この2つがキーとなって、論理展開が繰り広げられていくことになります。
さて、ここでマスについてちょいと確認しておきます。
★以外の青色マスに1は入りません。
そして、★以外の黄色マスに1が入るか否かは問いません。
現時点では、数字1に関して青色 house と黄色列には少し違いがあるんですね。
しかし、それを覆す結論がこのあと待っているんです。
それは 図3-4 にて。
ここで、ベースセットとカバーセットの説明をしましょう。
図3-2 の状況になった時、最初の青色 house を全部まとめて ベースセット と呼びます。
そして、★マスを覆い尽くした黄色タテ列を全部まとめて カバーセット と呼びます。
図3-2 ではベースセットもカバーセットも3個の house で構成されていますが、実は、これはすごく重要です。
ベースセットとカバーセット、両者の house の個数は必ず同じでなければいけません。
一方が3個なら他方も3個。
注意しましょう!
上記の例では、数字1の入り得る★マスが12個並んでいました。
しかし、本当は★がキッチリ12個である必要はありません。
図3-3 では★が3個少ないですが、それでもかまいません。
大事なのは、ベースセット内部にあるすべての★マスがカバーセットで覆われているということです。
それさえ満たしていれば、★の個数は関係ありません。
3-2.どういう結論になるの?
図3-2 ではベースセットとカバーセットが登場しました。
ベースセットでは、★以外の青色マスに数字1は入りません。
カバーセットでは、★以外の黄色マスに数字1が入るか否かは問いません。
現時点では「黄色マスに1が入る可能性はまだあるッ!」なんですね。
ところが、結論はこうなります。
- カバーセットにおいて、★以外のすべてのマスに1を入れられなくなる。
図3-4 だと×印のマスが該当します。
そのマスに数字1を入れられなくなるんです。
もぅもぅすべてがバツだらけ。★以外の黄色マスは殲滅された……。
今までは、黄色マスに数字1が入る可能性はありました。
けれど、その可能性はなくなるというわけです。
カバーセットにおいても数字1の入り得る場所は★マスに絞られる。ベースセットと同じ状態になっちゃうんです。
なぜこういう結論になるんだろう?
それを説明しましょう。
今、黄色タテ列を一旦忘れて、青色の各 house に試しに数字1を1個ずつ入れてみることにしましょう。
さて、1の入れ方は全部で何通りあるでしょう?
答えは12通りです。
全パターンをこのページに挙げてみました。図3-5 はその一例です。
実は、この12通りのパターンには大きな共通点があります。
- どの黄色タテ列を見ても、数字1は必ず★マスに入っている。
青色 house に数字1を入れていっただけなのに、どうしても黄色列はこの状態になってしまう。
そのため、黄色タテ列において★以外のマスに1が入る可能性はないんですね。
図3-4 の結論通りになりましたね😄
図3-4 の結論をもう少し詳しく言うと、次のようになります。
- カバーセット内部のすべての列において、数字1の入る場所は★マスに制限される。
よって、カバーセット内部の★以外のマスに数字1は入れられない。
これが最終的な結論です。
3-3.逆のパターン
上記の例ではベースセットの方にブロックが交じっていましたが、カバーセットの方に交じっている場合もあります。
その場合も理屈は同じです。以下で軽く解説します。
青色ヨコ3列において数字1の入り得るマスを探した時、★の位置にしかなかったとしましょう(図3-6)。
さて、この12個の★をすべて覆う3個の house はあるんでしょうか?
あるんです!
図3-7、3個の黄色 house(タテ2列&ブロック1個)が12個の★をすべて含んでいますね。
というわけで、前図3-6 からはこういう状況になりました。
- 青色ヨコ3列において、数字1の入り得るマスは★だけだった。
- そして、その★マスすべてを3個の黄色 house で覆い尽くせた!
ベースセットは青色ヨコ3列です。
カバーセットは3個の黄色 house(タテ2列&ブロック1個)です。
この2つがキーとなって、論理展開されていきます。
ベースセットもカバーセットも3個の house で構成されていますね。
両者の house の個数が同じということにも注意してください。
また、図3-3 の補足と同様のことも成り立ちます。
★の個数が12個より少なくてもOKです。
大事なのは、ベースセット内部のすべての★マスがカバーセットで覆われているということです。
併せて注意しましょう。
結論は同じです。
- カバーセットにおいて、★以外のすべてのマスに1を入れられなくなる。
理由も同様です。
青色ヨコ3列に試しに数字1を入れる場合、その入れ方は全部で12通りあります。
全パターンをこのページに挙げてみました。
この12通りのパターンには共通点があります。
- どの黄色 house を見ても、数字1は必ず★マスに入っている。
青色列に数字1を入れていっただけなのに、どうしても黄色 house は★マスに1が入ってしまう。
そのため、黄色 house において★以外のマスに1が入る可能性はないんですね。
図3-8 の結論をもう少し詳しく言うと、次のようになります。
- カバーセット内部のすべての house において、数字1の入る場所は★マスに制限される。
よって、カバーセット内部の★以外のマスに数字1は入れられない。
これが最終的な結論です。
上記の例では、ヨコ列がベースセット(一部ブロックを含む)、タテ列がカバーセットでした。
もちろん、タテヨコ逆でも理屈は同じです。
ベースセットまたはカバーセットにブロックが含まれている場合の解法は Franken Fish と呼ばれています。
解法の詳細は Franken Fish のページをご覧ください。
4.何でもアリ! ごちゃ混ぜの Fish
セクション12は、いわば「ヨコ列vs.タテ列」という構図で論理展開されました。
そして、セクション3は、ほぼ「ヨコ列vs.タテ列」という構図だったと言えるでしょう。
それに対して、ヨコvs.タテ という構図自体がなく、「タテ列・ヨコ列・ブロック、何でもアリ!」というパターンもあるんです。
このセクションでは、そのパターンについて解説していきます。
……とその前に、セクション3に続いて、タテ列・ヨコ列・ブロックをひっくるめて house と呼ぶことにしましょう。
4-1.ベースセットとカバーセット
3個の青色 house(タテ1列&ヨコ2列)において数字1の入り得るマスを探した時、★の位置にしかなかったとしましょう(図4-1)。
この10個の★について、次のことが成り立ちます。
どの★も3個の青色 house に属している。
見りゃわかる😅
では、視点を変えてこんなことを考えてみましょう。
この10個の★をすべて含む別の3個の house って……あるのかな??
どうでしょう?
そういう3個の house はあるんでしょうか?
タテ列・ヨコ列・ブロック、house はどれでもかまいません。
実はあるんです!
図4-2、3個の黄色 house(タテ1列&ブロック2個)が10個の★をすべて含んでいますね。
というわけで、図4-1 からはこういう状況になりました。
- 3個の青色 house において、数字1の入り得るマスは★だけだった。
- そして、その★全部を3個の黄色 house で覆い尽くせた!
青色と黄色、2つのセットが出てきましたね。
この2つがキーとなって、論理展開が繰り広げられていくことになります。
さて、ここでマスについてちょいと確認しておきます。
★以外の青色マス(緑色マスも含む)に1は入りません。
そして、★以外の黄色マス(緑色マスは除く)に1が入るか否かは問いません。
現時点では、数字1に関して青色 house と黄色 house には少しだけ違いがあるんですね。
しかし、それを覆す結論がこのあと待っているんです。
それは 図4-5 にて。
ここで、ベースセットとカバーセットの説明をしましょう。
図4-2 の状況になった時、最初の青色 house を全部まとめて ベースセット と呼びます。
そして、★マスを覆い尽くした黄色 house を全部まとめて カバーセット と呼びます。
図4-2 ではベースセットもカバーセットも3個の house で構成されていますが、実は、これはすごく重要です。
ベースセットとカバーセット、両者の house の個数は必ず同じでなければいけません。
一方が3個なら他方も3個。
注意しましょう!
上記の例では、数字1の入り得る★マスが10個並んでいました。
しかし、本当は★がキッチリ10個である必要はありません。
図4-3 では★が3個少ないですが、それでもかまいません。
大事なのは、ベースセット内部にあるすべての★マスがカバーセットで覆われているということです。
それさえ満たしていれば、★の個数は関係ありません。
ベースセットにおいて、house 同士が交わることがあります。
例えば、タテヨコの列が交差したり、列とブロックが重なったり。
図4-1 のベースセットだと交差箇所は2マスあります。
ベースセット内部の house が交わっている場合、満たさなければいけない条件が1つあります。それは次の条件です。
- 交差箇所に★は1つもない。
つまり、どの★マスもただ1つの house に属している。
図4-1 では、どの★も1個の青色 house にだけ属しています。複数の青色 house を掛け持ちしている★は1つもないんですね(図4-4)。
もし交差箇所に★が存在してしまうと、図4-7 で示す論理展開ができなくなり、図4-6 の結論が成り立たなくなってしまうんです。
交差箇所に★がある場合、その★マスのことを endofin と呼びます。
その詳細については Endofin のページをご覧ください。
実は、カバーセットに対しても 図4-4 と同じことが言えます。
カバーセットにおいて house 同士が交わることがあります。
その場合、満たさなければいけない条件が1つあります。それは次の条件です。
- 交差箇所に★は1つもない。
つまり、どの★マスもただ1つの house に属している。
カバーセットに交差箇所がある場合は注意を払わないといけませんが、幸いにも 図4-1 のカバーセットには交差箇所が1つもなく何の心配もありません。
カバーセットの交差箇所に★がある Fish のことを Cannibalistic Fish と呼びます。
実は、Cannibalistic Fish に対しては「交差箇所の★を除去して★の個数を少なくできる」ことが既に判明しています。だから、それを施すことで上記の条件は勝手に満たされます。
詳細については Cannibalism のページをご覧ください。
4-2.どういう結論になるの?
図4-2 ではベースセットとカバーセットが登場しました。
ベースセットでは、★以外の青色マスに数字1は入りません。
カバーセットでは、★以外の黄色マスに数字1が入るか否かは問いません。
現時点では「黄色マスに1が入る可能性はまだあるよね!」なんですね。
ところが、結論はこうなります。
- カバーセットにおいて、★以外のすべてのマスに1を入れられなくなる。
図4-6 だと×印のマスが該当します。
そのマスに数字1を入れられなくなるんです。
んも〜すっごくバツバツしい! ★以外の黄色マスはすべてバツだらけ!
今までは、黄色マスに数字1の入る可能性がありました。
けれど、その可能性はもうありません。
カバーセットにおいても数字1の入り得る場所は★マスに絞られる。ベースセットと同じ状態になっちゃうんです。
なぜこういう結論になるんだろう?
それを説明しましょう。
今、黄色 house を一旦忘れて、青色 house それぞれに試しに数字1を1個ずつ入れてみることにしましょう。
さて、1の入れ方は全部で何通りあるでしょう?
答えは8通りです。
全パターンをこのページに挙げてみました。図4-7 はその一例です。
実は、この8通りのパターンには大きな共通点があります。
- どの黄色 house を見ても、数字1は必ず★マスに入っている。
青色 house に数字1を入れていっただけなのに、どうしても黄色 house はこの状態になってしまう。
そのため、黄色 house において★以外のマスに1が入る可能性はないんですね。
図4-6 の結論通りになりましたね😄
図4-6 の結論をもう少し詳しく言うと、次のようになります。
- カバーセット内部のすべての house において、数字1の入る場所は★マスに制限される。
よって、カバーセット内部の★以外のマスに数字1は入れられない。
これが最終的な結論です。
任意のベースセット&カバーセットを使った解法は Mutant Fish と呼ばれています。
解法の詳細は Mutant Fish のページをご覧ください。
5.一般的な話
さて、セクション 1234をつらつらと書いていきました。
最初から通して読んでくれたみなさん、ホントごめんなさい。
同じ文章ばっかりで飽きたでしょ?😅
でも、逆に言えば、ベースセットやカバーセットを使った手法はどれもこれも本質的には同じだということなんです。
当然、得られる結論も全部同じです。
つまり、数字Xに対するベースセットとカバーセットを見つけた時、これが成り立つんです。
- カバーセットにおいて、数字Xの入り得るマスはベースセット所属のマスに限る。
言い換えると、ベースセットに属していないマスに数字Xは入らない。
これさえ頭に入っていれば、もう Fish 系の解法は怖くありません。
ナンプレの盤面からベースセットとカバーセットを見つけさえすれば、この結論をカバーセットに適用するだけで良いのです。
しかも、この結論は大量のマスに作用する。すっごく効率的!
それに、おそらく実戦では X-Wing や Swordfish くらいしか現れません。
だから、Fish 系の解法を使おうと思ったら、2列3列に目を光らせとけばとりあえずOK!
ベースとカバーを見つけりゃこっちのモンだ!
……ただ、その「ベースセットとカバーセットを見つける」という作業がもぅもぅ大変で大変で😅
2行2列(X-Wing)ならまだしも、3行3列以上(Swordfish や Jellyfish など)はもぅ……とにかく見つからんのさ🥺
更新履歴
- 2022. 2. 5.
- 新規公開。
- 2023. 3.31.
- ページ冒頭に難易度表記を追加。