したがって、あなたの仕事は3x3ブロックを取得することです。ここで、-の意味は空白スペースであり、*の意味は塗りつぶされたスペースです、例えば:
-**
-*-
*-*
次*のように、がXを形成するようにブロックを再配置します。
*-*
-*-
*-*
入力: 上記のような3x3の正方形、3行、配列、または必要に応じて。
出力: Xに再配置するための最短の移動量。各移動は、互いに水平であるか、互いに垂直であるか、または互いに斜めである、接触している2つのキャラクターを反転させます。不可能な場合は、不可能な出力を返します(例:999または)-4242。5最小のそのような数です。
テストケース:
1)出力:1
-**
-*-
*-*
2)出力:-1
-*-
-*-
*-*
3)出力:3
---
-**
***
4)出力:0
*-*
-*-
*-*
空白文字と非空白文字を置き換えることができますが、投稿にどちらが含まれるかを必ず確認してください
コードゴルフ
これは、最短のコードが勝つコードゴルフです。
*ますか?さらにテストケースを追加できますか?
*ことが不可能な場合」5 以上または5 未満では不可能になります。
-1ますか?たとえば5(そうでなければ不可能)、またはエラーを投げますか?
*、またはその逆へのフリップを意味しましたか、それとも交換しますか?