Hatena::Grouptopcoder

cafelier@SRM

cafelier のSRM参加記録です。コンテスト中に考えてたことを執拗に全部書き残すとどうなるだろうかという試み本番中にこういうコードが書きたかったなあ、という後で書いた反省コードを書き残す試み

スパムが来たのでしばらくコメント欄をはてなユーザ限定にしています、すみません、

 | 

2012-02-04

SRM 531 Div2 250

| 14:16 | はてなブックマーク -  SRM 531 Div2 250 - cafelier@SRM

今日からここは、とりあえずdiv2 250をターゲットにコードの自動生成の可能性を探る日記になりました。解答例はとりあえずどうでもよくて、解の機械生成ができそう&&問題文からの(アルゴリズム的思考完全不要で)直訳で作れそう、なspecを色々書いてみながら言語設計するのが目標。

問題

main(
    s : int<1..100>[1..50]
) {
   let ps = all_permutations(s)
   let pps = ps - {s}
   if #pps == 0
      {- vector<int>() -}
   else
      min(lex, pps)
}

解答例

vector<int> getUnsorted(vector<int> s) {
    sort(s.begin(), s.end());
    if( !next_permutation(s.begin(), s.end()) )
       return vector<int>();
    return s;
}
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/cafelier/20120204
 | 

presented by cafelier/k.inaba under CC0