PKU 1007 DNA Sorting

問題

DNA Sorting

解法

ソートするだけの問題。 逆順になっている要素を数える。

コード

int n, m;
char c[64];

bool cmp(const string &a, const string &b){
  int ac = 0, bc = 0;
  rep(i, a.size()){
    REP(j, i, a.size()){
      if(a[i] > a[j]) ac++;
      if(b[i] > b[j]) bc++;
    }
  }
  return ac < bc;
}

int main(){
  scanf("%d%d", &n, &m);
  vector<string>dna(m);
  rep(i, m){
    scanf("%s", c);
    dna[i] = string(c);
  }

  sort(dna.begin(), dna.end(), cmp);
  rep(i, m){
    cout << dna[i] << endl;
  }
  return 0;
}

ドワンゴC++勉強会見てるんですけど。まったく分からない。C++詰め込みすぎてるってことは分かった。

C++マスターしたらどんな言語でも扱えるようになるとかいってたのもあながち