ボウルにアルファベットのスープを入れます
私たちは、ように見える決して取得しない疲れたアルファベット関連の課題の... レシピ 与えられた 文字列S、および 2つの正の整数M、N、 文字とアルファベットスープ製造S占有ランダムな位置に長方形のボウルサイズのM× N、フレームボウルのリムを表現するために、非アルファベット、非空白文字です。 文字で使用されていない位置はスペースとして表示する必要があります。以下の例を参照してください。 追加規則 サイズM× Nは、ボウルの内部を指します。リムを含むサイズはM+2× N+2です。 からの各キャラクターは、ボウルの異なる位置に一度S表示されます。つまり、ある文字が別の文字を上書きすることはできません。 S 重複する可能性があります。たとえばS、が文字列の'abcc'場合、スープにはone a、one b、およびtwo c(すべて異なる位置にある)が含まれている必要があります。 入力は満足さ制限を M >= 1、N >= 1、1 <= length(S) <= M*N。 ボウルの縁は、アルファベット以外、スペース以外の任意の文字で、プログラムの実行と入力値全体で一貫しています。 ボウル内の文字の位置はランダムであるため、同じ入力でプログラムを実行するたびに結果が異なる場合があります。 入力が与えられると、文字位置のすべての可能なセットはゼロ以外の確率を持つ必要があります。これはプログラムのいくつかの実現からはチェックできないため、コードがこれをどのように実現するかを説明してください。 先頭または末尾の空白リムの周りには許可されています。 S大文字のみが含まれます。希望する場合は、小文字のみを選択できます。 入出力は通常どおり柔軟です。たとえば、出力は、改行を含む文字列、2D文字配列、または行のリストです。 すべてのプログラミング言語でプログラムまたは機能を使用できます。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 例 入力はとして表示されます。S, [M N]ここでMは、行N数と列数です。キャラクター#はリムに使用されます。 'O', [1 1]: ### #O# ### 'HEY', [1 3]: ##### …