トップページ > プログラム > 2014年06月13日 > M4x6Kn4S

書き込み順位&時間帯一覧

10 位/205 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000100000214



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
459
C/C++の宿題片付けます 167代目

書き込みレス一覧

C/C++の宿題片付けます 167代目
457 :デフォルトの名無しさん[sage]:2014/06/13(金) 16:22:01.41 ID:M4x6Kn4S
>>456
ttp://codepad.org/Yu5KMoPW
とりあえず計算できるようにはなってると思います

set関数の引数i(編集後pos_cnt)は、i番目に通る都市を決める関数です。
その中で通る都市を仮定して、次のi+1番目の都市を決めるために再度setを呼び出しています。(元34行目)
その際に、通る都市番号をposに保持し(元29行目)、通ったことを示すflagを1にしてます。(元33行目)
通る都市を決める際に、flagが1になっている都市を避けることで、同じ都市に何度も行かないようにしています。(元28行目)
iが都市数まで増えると全都市を回ったことになるので、結果をprintで出力してその経路は終わり。(元31行目)

編集後のコードでは、set関数に引数distを追加して、経路をたどっている際にその距離も一緒に計測するようにしました。
全都市を回った際に、これまでの最大距離よりも大きければ保持するようにしてます。

書き方のアドバイスとして
自分の書いたコードが半年後もすぐ意味が分かるように読みやすいようにしたほうがいいですよ
最低限以下に気を付けるくらいですね
・インデントをつけましょう
・変数名は意味のある単語もしくはその省略形にしましょう(1〜2文字で許されるのはループ用の変数iとかjぐらいと思ったほうがいい)
・意味が分かりにくい箇所には適宜コメントを入れましょう
C/C++の宿題片付けます 167代目
459 :デフォルトの名無しさん[sage]:2014/06/13(金) 22:25:12.70 ID:M4x6Kn4S
>>458
ttp://codepad.org/AYNHHZ3P

アルゴリズムはほぼ参考ページの丸写しです
参考ページ:ttp://fussy.web.fc2.com/algo/algo3-2.htm
C/C++の宿題片付けます 167代目
460 :デフォルトの名無しさん[sage]:2014/06/13(金) 22:35:52.71 ID:M4x6Kn4S
しまった仕様1が未達ですね
すみませんが上記は破棄で
C/C++の宿題片付けます 167代目
463 :459[sage]:2014/06/13(金) 23:07:16.98 ID:M4x6Kn4S
>>458
ttp://codepad.org/BXC0miZY
無理やりポインタを使うようにしてみた(imageにはかならずpoint経由でアクセス)

>>462
似たような感じで変えてみましたw


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。