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長かった、、、
最近ちょっと忙しくなってきたんですが、ぼちぼち更新していけるよう頑張ります。