フロア プラン (VLSI 配置) を表すポーランド語表記を含む文字列があり、「1234VHV56HV」のようなものが含まれています。(参考までに、これは、3 と 4 を垂直に分離し、結果と 2 を水平に分離し、結果と 1 を垂直に分離し、5 と 6 を水平に分離し、前の 2 つの結果を垂直に分離することを意味します。)
文字列変数の名前がPolishNotationであるとします。含まれる文字は、縦の場合は「V」 、横の場合は「H」のみです。
「シミュレートされたアニーリング」と呼ばれるアルゴリズムを適用してポーランド語の表記を変更しようとしているので、インデックスをランダムに選択したい (もちろん、polishNotation.Length よりも小さい)。このインデックスが文字 ('V ' または 'H')、それを含む文字のチェーンを取得し、すべての 'V' を 'H' に変更し、すべての 'H' を 'V' に変更したい... つまり、チェーンを補完する!
- 例: PolishNotation = "1234VHV56HV" とランダム インデックス = 5 を仮定すると、結果は "H" になります... "VHV" を取得し、それを補完して "1234HVH56HV" にします。
- 別の例: PolishNotation = "1234VHV56HV" とランダム インデックス = 9 を仮定すると、結果は "H" になります... "HV" を取得し、それを補完して "1234VHV56VH" にします。
- 別の例: PolishNotation = "1234VHV56HV" とランダム インデックス = 6 を仮定すると、結果は "V" になります... "VHV" を取得し、それを補完して "1234HVH56HV" にします。
私は自分自身を明確にしたことを願っています... 何か提案はありますか? 私はC#.netを使用しています