グラフや幾何学の問題や、記述に関するメタ的な問題以外の今までに無い種類の問題について考察する。
【随時更新】解答に必要な機能まとめ - ニート歴10年からの数学日記と【随時更新】計算量の減らし方まとめ - ニート歴10年からの数学日記を使う、必要になり次第付け加えていく。
サンプルを増やすことに注力したい。
『1〜9の数字が書かれたカードが1枚ずつあります。A、B、Cの3人に3枚ずつカードを配りました。3人の持っている3枚のカードの数字の和は、Aが一番大きく、次にB、一番小さいのはCでした。また、数字9のカードを持っているのはCでした。
いま、A、B、Cのうちのどの2人を選んでも、2人でカードを1枚交換すると、2人の持っているカードの数字の和を等しくすることができます。
3人のもっているカードの数字を答えなさい。』
A[ , , ]∪B[ , , ]∪C[ , , ]のカブり無しの中に[1, 2, 3, 4, 5, 6, 7, 8, 9]のカブり無しから全部挿入。
[A]の総和 > [B]の総和 > [C]の総和。
[C]は[9]を含む。
?? [[A], [B], [C]]のカブり無しから2つ選んで、一方の中から1つともう一方の中から1つを入れ替える。
一方 = もう一方。
結果における[A]、[B]、[C]。
まあ形式化なんてどうでも良いし、htmlとcssのように論理と形式は分離されるべきだと俺個人は思うが、しかし収拾がつかなくなるので、??はいつか形式化しよう。
「移動や挿入→制約→解答→移動や挿入→制約→…」、という流れなつもりだけど、この移動や挿入と制約はセットかもしれない。よく見たら、この制約を満たすような移動や挿入になっている。いや自分の中でハッキリしていないので、自分用のメモだけど。
答えを見る。カードの和が等しくなるということは、更にその2つの和は偶数になるということ。つまり偶数と偶数か奇数と奇数の組み合わせのどちらかだが、1〜9の合計は45なので、奇数と奇数の組み合わせだと分かる。
3枚の数字の和が奇数になるには、奇数・奇数・奇数か、偶数・偶数・奇数か。偶数の数は全部で4つあるので、前者が1つ、後者が2つ。Cのカードの和は一番小さくなるはずなので、45/3=15以下なはず。9を入れると、1・3・9の組み合わせしか無い。Cの和が13なので、Bの和が15、Aの和が17だと分かる。
一枚交換することで、値を等しくできないといけないので、AにはCのどれかより2大きい数字がなければならないが、2・4・5・6・7・8の中でそういう数字は5だけ。残り2枚は偶数で和が12なので4と8。残りでBが分かってそれらが答え。
いや本当に難しい。しつこいようだけど俺のIQは200なはずなんだがな(いや5年生以下らしいから少し違うか)。最初のステップが分かれば後は何とかなりそうだけど、しかし計算量を軽くすると一言で言っても簡単では無い。意味論的にはこれで良いと思うが。
『ア〜シに1〜12を1個ずつ入れます。ただし、線でつながった2マスに入る数字の差は1か2とします。
イに5を入れた場合、残りのマスの中で入る数字が決まるマスがあります。そのマスとその数字を求めなさい。
(図) 循環リストで[ア, イ, ウ, エ, オ, カ, キ, ク, ケ, コ, サ, シ]』
循環リスト[ア, イ, ウ, エ, オ, カ, キ, ク, ケ, コ, サ, シ]のカブり無しの中に[1~12]のカブり無しを全部挿入。
循環リスト[n] - 循環リスト[n+1] = 1 or 2 or -1 or -2。
循環リスト[イ] = 5
結果における∩。
答えを見ると、1のとなりに何が入るかを考えると、2か3。すると2の隣には4しか入れれない、すると3の隣には5しか入れれない。それで全部決まって、答えは、クに8が入る。
端っこが一番制約がキツイんで、そこからやる、ということなのかな?
『あるロボット工場では、A型とB型の2種類のロボットが作られています。A型ロボットは大小を1 < 2 < 3 < 4 < 5と認識します。一方で、B型ロボットは大小を1 > 2 > 3 > 4 > 5と認識しています。いま、5体のロボット、マーク、ケン、ジョン、サムス、タロウがいます。それぞれのロボットはA型かB型のどちらかで、1〜5の番号がついています。
マーク:ワタシはもっとも大きい数字がついたロボットです。
ケ ン:ボクより大きい数字のついたA型ロボットと小さい数字のついたA型ロボットがいます。
ジョン:ボクにはもっとも小さい数字がついています。
サムス:ワタシより大きい数字のついたA型ロボットはいません。
タロウ:ボクの次に大きいロボットはA型ロボットです。
それぞれのロボットの種類とついている数字を求めなさい。』
ロボット[マーク, ケン, ジョン, サムス, タロウ]のカブり無しに[1, 2, 3, 4, 5]のカブり無しを全部挿入。
ロボット[?][1]のカブり無しに[A, B]のカブり有りを全部に挿入。(繰り返すようだがリストは0から始まる)
ロボット[マーク][1] = A and ロボット[マーク][0] = ロボット[?][0]の最大 or ロボット[マーク][1] = B and ロボット[マーク][0] = ロボット[?][0]の最小。
?? ロボットの[[?][1] = A]のどれか[0] < ロボット[ケン][0] < ロボットの[[?][1] = A]のどれか[0]。
ロボット[ジョン][1] = A and ロボット[ジョン][0] = ロボット[?][0]の最小 or ロボット[ジョン][1] = B and ロボット[ジョン][0] = ロボット[?][0]の最大。
?? ロボット[サムス][1] = A and ロボット[サムス][0] > ロボットの[[?][1] = A]のどれも[0] or ロボット[サムス][1] = B and ロボット[サムス][0] < ロボットの[[?][1] = A]のどれも[0]。
?? ロボット[タロウ][1] = A and ロボットの[[0]]の小さい順[タロウ+1][1] = A or ロボット[タロウ][1] = B and ロボットの[[0]]の小さい順[タロウ-1][1] = A 。
結果を一覧で出す。
答えを見る。マークとジョンの発言から、マークとジョンは同じ種類のロボットだと分かる。続いてサムスの発言から、マークとジョンはBだと分かる。マークが1で、ジョンが5。
ケンの発言を見ると、ケンは3であり、残りのサムスとタロウがAだと分かる。サムスの発言から、サムスは4。タロウは残りの2で、タロウの発言から、ケンはAだと分かる。
答えは、マークがBで1、ケンがAで3、ジョンが5でB、サムスが4でA、タロウが2でA。
??の「どれか」とか「どれも」っていうのは、いつもの機能で表現できるのかな。まだボンヤリしている。
あと、やっぱり端っこから攻めてるね。
『1と2の2種類の数字を次のルールを満たすように1列に並べます。
「ルール」
まず、2以上の整数Mを選びます。選んだMに対して、1列に並べた数字のどの連続したMけたの整数も異なる。
例えば、Mとして2を選んだとき、1211は、連続する2けたが12、21、11で、すべて異なりますから、「ルール」を満たしています。しかし、1212は、連続する2けたが12、21、12で、12が2回出てきてしまいますから、「ルール」を満たしていません。
(問い1)Mが2のとき、最大で何個の数字を並べられますか。また、そのときの並べ方の例を1つ答えなさい。
(問い2)Mが3のとき、最大で何個の数字を並べられますか。
(問い3)(問い2)で求めた最大の個数のときの並べ方のなかで、11となる部分が3か所ある並べ方の例を2通り答えなさい。ただし、111と並んでいる場合も、11と並んでいる部分が2か所あるものとします。
(問い4)(問い2)で求めた最大の個数のときの並べ方は全部で何通りありますか。解答用紙には考え方も書きなさい。』
[リスト]の中に順番に[1, 2]のカブり有りからn個挿入する。
マッチリスト[m] = [リスト[m], リスト[m+1]]。
マッチリスト[o] != [マッチリスト]の[!マッチリスト[o]]のどれも。
nを最大化するように命令。
結果におけるn、[リスト]。
リセット。
[リスト]の中に順番に[1, 2]のカブり有りからn個挿入する。
マッチリスト[n] = [リスト[n], リスト[n+1], リスト[n+2]]。
マッチリスト[o] != [マッチリスト]の[マッチリスト[o]以外]のどれも。
nを最大化するように命令。
結果におけるn。
結果における[リスト]一覧の個数。
マッチリストB[m] = [リスト[m], リスト[m+1]]。
マッチリストBの[1, 1]の数 = 3。(ちょっと表記が微妙かな)
結果における[リスト]。
答え方としてはおそらく、1と2で作るMけたに何通りがあるかを調べて、それを全部使った場合を最大として、駄目だった場合に1つずつ下げていく。一番の問題は問い4で、これは分からない。
答えを見ると、大体合っているけど、問い3は、111が真ん中にあると仮定すると、一つ前は2で一つ後も2、211と111と112で21112という風になるはずだが、他には11となる部分が無いので、真ん中には出てこない。
最初に111が来ると仮定すると、211はその後に置けなくなるので最後だと分かる。更には真ん中には222を処理するために12221が入るはずで、その12221が最初に重なるのが1112221211、最後に重なるのが1112122211。最後に111が来ると仮定すると、それらを反転した1121222111、1122212111。この4通りが答えになる。
で最後の問い4が無茶で、まずこのリストの最初の2ケタと最後の2ケタが必ず同じになることを見切る。
2ケタをAとすると、Aが入る数字はA1・A2・1A・2Aしか無い。最初が例えばA1だとすると、まあどこかで1Aか2Aが出てきて、直後にはA2、すると1Aか2Aのもう一方は最後にしか出てこれない、Aが続かないから。
でこの説明の直後に、「これは、10個の数字の最後の2つを消して8個の数字を円状に並べることで、8通りの組み合わせがすべて出てくることを意味しています。」、と来る。分からん。今までで全通りの数字を使って、21112が出てこない辺りから察しろという感じなのか。
でその8ケタの循環リストのどこで切って最後に貼っても良いとして、8通り。問い3の答えを観察して2パターンあるので、8*2=16で、16通りが答えになる。
問い3は全通り使うとして、一番制約が大きい111に着目した、そして途中には来ず最初と最後に来ることを発見した。問い4は分からん、111と222が特別に制約が大きいだけで、どの3ケタでも成立するわけでは無いし、とにかく循環リストにして一気に圧縮した。
小4と考えるとIQ50で、IQ150だとしてもIQ75だろうに、大したものだなあと思う。