I and OI
Past...

题意:一个N*M的网格,只能在网格的边上向上或向右走,求从左下角走到右上角的方案数.

分析:一共要走N+M步,其中M步向右,N步向上.因此方案数即C(N+M,N).

code:

var   n,m,max,o,ans:int64;


begin
      while not eof do
      begin
            readln(n,m);
            if n+m=0 then halt;
            max:=n;
            if m>max then max:=m;
            ans:=1;
            o:=max+1;
            while o<=n+m do
            begin
                  ans:=int64(ans)*int64(o) div int64(o-max);
                  o:=o+1;
            end;
            writeln(ans);
      end;
end.
posted on 2011-08-10 16:44  exponent  阅读(208)  评论(0编辑  收藏  举报