传球游戏

题意

n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师在此吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者。


分析

一个球只能从左边和右边传来所以 f[i,j]:=f[i-1,left[j]]+f[i-1,right[j]];


var 
l,r:array[0..30]of longint;
f:array[0..30,0..30]of longint;
i,n,m,j:longint;
begin
  read(n,m);
  for i:=2 to n do 
  l[i]:=i-1;
  l[1]:=n;
  for i:=1 to n-1 do 
  r[i]:=i+1;
  r[n]:=1;
  f[0,1]:=1;
  for i:=1 to m do
  for j:=1 to n do
  f[i,j]:=f[i-1,l[j]]+f[i-1,r[j]];
  write(f[m,1]);
end.

posted @ 2017-02-05 18:49  银叶草  阅读(96)  评论(0编辑  收藏  举报
Live2D