全ての行と列の組み合わせを全探索すると一見TLEとなってしまいそうですが、行が8行しかないためビット全探索を使用することでTLEとならずに全探索することが可能です。ボタンAを押した場合の処理は関数で用意するとして、愚直にK回その処理を行うとTLEとなってしまいます。そこで、ボタンAの処理を何回か行った際、1度出てきた数字に戻ってきた場合を考えます。図にするとこんな感じです。進法で表したときの各桁の数字の和も9の倍数となります。与えられたKが9の倍数でない場合、条件を満たすXの数は0通りとなります。このような問題にはしゃくとり法が有効です。※しゃくとり法については下記記事が参考になります。この問題で与えられているデータは木構造をしています。※木構造のデータについて、詳細を知りたい方は下記記事が参考になると思います。Paper(★4)」解法2022年4月14日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。Chokudai(★3)」解法2022年4月12日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。問題の状況を図にしてみました。上にあるのでy軸とz軸だけ考えれば良さそうです。Tree(★4)」解法2022年4月10日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。隣り合わない頂点とは、辺で結ばれていない頂点を指します。AtCounter(★4)」解法2022年4月8日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。この問題は動的計画法を使って解くとスムーズです。動的計画法については下記記事の解説が分かりやすいと思います。Party(★4)」解法2022年4月6日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。個のピースのうち最も短いものの長さをXcmと置いて考えます。characters(★3)」解法2022年4月4日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。両方が含まれる選び方を考えていくと時間がかかりそうなので、余事象の考え方を使うことにします。Two(★3)」解法2022年4月2日このシリーズではE869120さんによって作成された競プロ典型90問をPythonで解いています。ある二次元配列Aを、ある二次元配列Bに一致させる方法があるかを探せば良いので、単純にAの左上から値をBに合わせていって、最終的にAがBに一致するかを判断すればOK...TheLogicalBearProfileTheLogicalBear論理パズルとアルゴリズムが大好きな機械学習エンジニアです。