puzzleknot / algorithm-puzzle

https://puzzleknot.github.io/algorithm-puzzle
0 stars 0 forks source link

[問題案] 並べ替えゲーム #2

Closed sotanishy closed 1 year ago

sotanishy commented 1 year ago

問題: 謎の数字 $x_1,x_2,\dots,x_N$ がある. $(x_1,x_2,\dots,x_N)$ は $(1,2,\dots,N)$ の順列である.1回の質問では, $x_i$ と $x_j$ を選んでそれらの大小を聞くことができる.できるだけ少ない質問回数で $x_1,x_2,\dots,x_N$ を昇順に並べよ

解法: ソートアルゴリズムなら何でも良い

質問回数について: 質問回数を指定するよりは,「できるだけ少ない質問回数でやってみてください.これくらいの質問回数でできればこれくらいの難しさです」みたいな感じにしたほうが教育目的としては良い気がする.

$N$ の設定について: 手動でやることを考えると $N=8$ とかが丁度いいのかなあ. $O(N^2)$ が可能ではあるがめんどくさいと思われることが重要だと思っている

kitsuya0828 commented 1 year ago

とりあえずこっちやってみます。

$N$ の設定について: 手動でやることを考えると $N=8$ とかが丁度いいのかなあ. $O(N^2)$ が可能ではあるがめんどくさいと思われることが重要だと思っている

これについては納得です。とりあえず $N=8$ で書いてみます!

sotanishy commented 1 year ago

「順列」「昇順」とかの言葉はいきなり初心者に見せるのは厳しいから,「並べ替えたもの」とか「小さい方から大きい方」みたいな感じの表現にしたほうがいいかなあ

kitsuya0828 commented 1 year ago

なるほど確かに。一応UIは大小迷わないようにこうしておいたよ。 並べながら質問して推理していくイメージ。

https://user-images.githubusercontent.com/60843722/224875712-fa52cdc6-7cd3-4083-8be2-f3fe9fc03418.mov

まだ暫定だけど。

sotanishy commented 1 year ago

これめっちゃいいね.

細かい注文をつけるとすれば

kitsuya0828 commented 1 year ago

MathJaxに関しては入れたかったけど、ドロップダウンとテーブルに適用できる方法が見つからなかった...(あったら教えてください🙏)

については修正しておきます👍

sotanishy commented 1 year ago

あとから動的に追加するテキストに MathJax を適用するには,MathJax.typeset() を明示的に呼び出す必要があるみたい.

参考: https://docs.mathjax.org/en/latest/advanced/typeset.html

テーブルについてはこれで解決できそう.ドロップダウンは,わからん.......

kitsuya0828 commented 1 year ago

select要素にはスタイルを適用しないのが定石らしいです。 selectのoptionに効くCSSと効かないCSS

このままで一回プルリク出します。 部員の皆さんが触れる状態にして、改善点は都度修正でお願いしたいです。