2012年2月7日火曜日

SRM531参加

SRM531

250: 234.78
600: Compiled
950: Opened
Challenge: -

Total: 234.78

緑維持したので満足!!!!

250:
ソートして後ろから見てって変わったところでスワップで終了。
next_permutationのが短く書けるらしい?

#include <string>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <iostream>
#include <sstream>
using namespace std;
class UnsortedSequence {
  public:
    vector <int> getUnsorted(vector <int> s) {
      sort(s.begin(), s.end());
      int before = s[s.size()-1];
      bool flag = false;
      for (int i = s.size() - 2; i >= 0; i--){
        if (before != s[i]){
          int tmp = s[i];
          s[i] = s[i+1];
          s[i+1] = tmp;
          flag = true;
          break;
        }
      }
      vector<int> emp;
      if (!flag) return emp;
      else return s;
    }
};

600:
場合分けして頑張ったらいけるかと思ったら全然いけなかった。
SRM後のチャット見た限りではDPが一番楽っぽい。
DPはまだまだ慣れてないからどうしようもない

950:
読んだ。
なるほどわからん。



0 件のコメント:

コメントを投稿