1
閉じたポリゴンを数える
入力: NxMのみ印刷可能なASCII(Unicodeの範囲を含むグリッドまたは複数行の文字列(またはその他の妥当入力フォーマット)[32,126])。 出力: 2つの特別なルールを使用して、検索できる同じ文字の閉じたポリゴンの数: スペースはワイルドカードであり、任意の文字に(複数回)使用できます o、O、および0閉じた多角形そのものとしてカウントされ チャレンジルール: 同じ文字(またはスペース)間の(対)対角線接続が閉じたポリゴンを形成するために含まれています。 他の文字(ワイルドカードスペースを除く)を超えることはできません。(つまり、以下の最初のテストケース/例では、次の2つの三角形を形成することができないA上行くことによってさんをx斜めに閉じた多角形のために使用されるすべての文字が(水平方向、垂直方向に接続する必要がありますので。)、および/または(反) )。 ポリゴンは、(単一文字を除く少なくとも3つの文字ですo、O、0)。 隣接する文字の線は閉じた多角形ではありません。 ワイルドカードスペースを除き、同じ文字を複数のポリゴンに使用することはできません。 ワイルドカードスペースはとしてカウントすることができないo、Oまたは0。 3つ以上のスペースだけでは、閉じたポリゴンを形成できません。常に少なくとも1つの非スペース(およびo/ O/ 以外0)文字が必要です。 入力は適切な形式にすることができます。文字マトリックス、改行区切り文字列、文字列配列、整数幅を追加した文字配列などを使用できます。 入力は常にN x Mの長方形(または正方形)になるため、奇妙な入力形状はありません 同じ文字を複数回使用することはできず、閉じたポリゴンをできるだけ多くしたいので、1つの大きなポリゴンの代わりに複数の文字を使用して2つ(またはそれ以上)の閉じたポリゴンを形成することは、当然のことながらカウントの目的です(これもなぜ、閉じた多角形が形成されることでo、Oまたは0それらは、すでに個別のポリゴンを閉じているので)、カウントされません。 もちろん、大文字と小文字は個別の文字として数えられます。 一般的なルール: これはcode-golfなので、バイト単位の最短の回答が優先されます。 コードゴルフ言語が非コードゴルフ言語で回答を投稿することを思いとどまらせないでください。「あらゆる」プログラミング言語について、可能な限り短い答えを考え出すようにしてください。 デフォルトのI / Oルールを使用した回答には標準のルールが適用されるため、STDIN / STDOUT、関数/メソッドを適切なパラメーターで使用し、戻り値の型の完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテスト(TIOなど)のリンクを追加してください。 また、回答の説明を追加することを強くお勧めします。 例/テストケース: 入力: AAAw AxA4 'AoQ 出力:2これらのポリゴンは形成できるため、 入力: 1822uaslkoo 12*2sl ljoo a* 0a91)j$* ()*#J9dddj* *Q#ID dJj!" *UJD …