PKU1731 -- Orders

うっひゃー、久しぶりの更新や〜。
PKU解くのが楽しくて、ひたすら解いてたらいつのまにかこんな時期に、、、


重複ありの順列を辞書順に出力する問題。
http://geocities.yahoo.co.jp/gl/nanagyou/view/20070210/1171061351で言及されてたりしたので晒してみる。あ、やっぱソースはじゃんじゃん晒していこうと思います(おい

今だったら瞬時にnext_permutation使うんだろうけど、若気の至りでGCCで書いてます。なんのひねりもなく再帰

char s[99];
l,f[128];

F(i,k){
  for(k=96;++k<123;)
    f[k]?f[s[i]=k]--,F(i+1),f[k]++:0;
  l-i||puts(s);
}

main(){
  for(gets(s);s[l];)
    f[s[l++]]++;
  F(0);
}

135B。
あれ、、、いつの間にかスーパーpre記法が進化してる。さすがはてなさんです。
ていうか、いくらショートコーディング始めたころだからとはいえ、まったく同じアルゴリズムでこれより20B長かった、、、


最近ちょっと忙しくなってきたんですが、ぼちぼち更新していけるよう頑張ります。