読者です 読者をやめる 読者になる 読者になる

No Caffeine, No Life

プログラミング(主にPython)

ABC 052 D Walk and Teleport: パズル

そんなに難しく考えなくていい。

2地点間で、歩くほうがいいのかテレポートしたほうがいいのか判断し、足しあげればよい。

広告を非表示にする

ABC 052 C Factors of Factorial: 素数

まず素数のリストを作る(isPrime)

その後、各素数について何回割れるかを記録していく (dic)

最後は、約数の数を求める公式にしたがって掛け算すればよい。

広告を非表示にする

ABC 053 D : Card Eater: パズル

これはとても面白い問題だと思った。

与えられた数列の中で、異なる整数の列をできるだけ多く残すにはどうしたらよいか。結局、だぶっている枚数が奇数か偶数か場合わけすればよい。

広告を非表示にする

ABC 053 C X: Yet Another Die Game: パズル

5か6が出ることが最適なので、与えられた数に対し11で何回割り切れるか、足りない部分5か6いずれかで補えるかを考えればよい。

広告を非表示にする

ABC 054 B Template Matching: any 関数の使い方

any 関数の意味はコチラ:http://blog1.erp2py.com/2011/12/python-any-all.html

 

これを用いた解答例がこちら:

 

広告を非表示にする

数学パズル Q34 飛車と角の利き:再帰・配列による盤面の表現

テキスト通りに考える。

盤面は9x9のマス目なので、両端を含めて11x11で用意。

境界を1 (使用済み)、移動できる箇所を0(未使用)で記述。

飛車か角を置いた時も使用済みと考える。

移動したマス目は、1次元の配列に収める。(10* x + yとおくことで、2桁の数値が9x9の座標を表すことができる。)

 

広告を非表示にする