カメヲラボ

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

Knight Moves(1)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1915

  • わりとインチキ臭いコード(not最短)

やねさんが軽く煽っておられるので、
http://d.hatena.ne.jp/yaneurao/20070504
縮めてみました。170Bを切ってるコードはややインチキ臭が漂うのですが、とりあえず参考に貼っておきます。興味のある人はドウゾ。

あ、あと、完全チートなら140Bです。さすがにこれは公開できる内容ではありません。でも聞かれたら教えます。念波で御連絡下さい。

main(n,a,b,c,d)
{
  for(gets(a);~scanf("%d%d%d%d%d",&d,&a,&b,&c,&n);
   printf("%d\n",d-4?b+~n?n=fmax(++b/3,++b-n>>1),n+=b-n&1:3+n:5))
    n=fmin(a=abs(a-c),b=abs(b-n)),b+=a;
}

n-1?3:4が3+nで通ってしまうとか、d-4の辺りがかなりアヤシイ。テストケースがもうちょっと強力だと燃えるのですが。もったいない問題。