偶置換奇置換

http://d.hatena.ne.jp/./yaneurao/20050821

if (r!=0) { swap(a[i],a[r+i]); b=!b; }

if (r!=0) swap(a[i],a[r+i]); else b=!b;

になっていて、n偶数だったらうまくいくけど、コード流用する場合は困るよな〜、でももう一旦指摘したし、二度目はやだな、とか思っていたら直ってた。
http://d.hatena.ne.jp/nuc/20050820

はじめ、
=!
という演算子があるのだと思ったことは秘密である。