カメヲラボ

主にプログラミングとお勉強全般について書いてます

DNA Sorting

ソートされっぷりを比較する問題。ソートだからqsortを使っていると思って自分のコードを見てみたら、使われてなかった(;´д`)アルゴリズムもどんなだったか忘れてしまいましたが、さっき目につくところだけ適当に削ったら200Bを切ったので多分170Bくらいまで短縮できるのではないかと。

char*q,s[][99];
o,*t[800][50];
p[800],i,j,k;
main(n)
{
  for(n=atoi(gets(s));gets(q=s+i++);t[o][p[o]++]=q)
    for(o=j=0;j<n;j++)
      for(k=j;++k<n;)
        o+=q[j]>q[k];

  for(i=0;i<800;i++)
    for(j=0;j<p[i];)
      puts(t[i][j++]);
}

まず、インプットの最初にある整数値を使っているところがイケてない。無駄な変数もある。そもそも2次元配列を使う必要があるのか、等。