場合はマスに数字が書かれていないことを意味します。変えるのに必要な魔力の最小量を求めてください。入力は以下の形式で標準入力から与えられる。変えるのに必要な魔力の最小量を出力せよ。ワーシャルフロイドと呼ばれる、二点間の最短距離(今回でいえば0~9の数から1までの最小消費魔力)を求めるような問題です。三重ループで各数間の最小魔力を求める。それぞれの壁に使う魔力を求めるprint(ans)聞いてしまうと、何だ、そんなことか。話をするとすれば、三重ループについてでしょうか。三重ループでは、二数間の最小魔力消費量を「その純粋な数と、別の数を挟む(3数間)の魔力消費量のうち小さいもの」としています。これをすべての数に対して行うことで最小を導き出すことができます。プログラミング(あるいはそれ以外でも)で使わない問題はないのではないと思うほど使用頻度の高いsplit()ですが、それを高度な使用をしようとしてできる人はあまり多くないのではないでしょうか。今回は、そんな愛されながらも謎に包まれたsplit()について解説します。AtCoderリーグのシーズンが終了しました。AtCoderリーグでは勝率の高い順に高い順位が与えられます。チーム高橋とチーム青木のどちらが勝率で勝っているか答えるプログラムを作成してください。入力は以下の形式で標準入力から与えられる。A,B,C,D(1≦A,B,C,D≦100)が与えられる。満たすことが保証される。出力の末尾にも改行をいれること。入力にsplit()をつかうべきですよね。Dそれぞれがn桁だと明示されていれば入力そのものを文字列だと受け取り、インデックスの指定で計算してやることもできますが、今回は1から3桁まで開きがあるので(できないとは言いませんが)やるべきではありません。ここで役に立つのがsplit()です。引数(split(*)の*の部分)を指定せずに使ってやると、スペース区切りでリストに入れてくれます。'931']区切り文字を指定して区切る引数の中に文字(列)を入れてやると、それを区切りとしてリストを作ってくれます。'931']区切り回数を指定する第二引数に数を指定してやると回数指定ができます。はじめの一回だけ区切りたい...あるいは、最後の一回だけ区切りたい、と言った時に使えます。'514アッー810アッー931']あるいは、split()をrsplit()に変えてやることで、反対から区切ってくれます。'931']すでにある文字列・リストを区切ってリストにするすでに存在している文字列に後置で実行してやることによって、リストを作成することもできます。'931']リストにsplit()は使えません。一度文字列に直してやります。